■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った):
■ ページの共有:
[ サイト内検索 ]
カスタム検索
#24055-0oo4oでオラクルデータをCSVに吐き出すフック2001-10-26(金) 00:58
     #24108-0RE#24055:oo4oでオラクルデータをCSVに吐き出す藤代千尋2001-10-26(金) 21:09
     #24111-0RE#24108:oo4oでオラクルデータをCSVに吐き出すフック2001-10-26(金) 21:34
     #24138-0RE#24111:oo4oでオラクルデータをCSVに吐き出す藤代千尋2001-10-28(日) 23:17
     #24139-0分数計算のさせ方haroha2001-10-28(日) 23:55
     #24141-0RE#24139:分数計算のさせ方よねKEN2001-10-29(月) 01:06
     #24151-0RE#24138:oo4oでオラクルデータをCSVに吐き出すフック2001-10-29(月) 14:03
     #24209-0RE#24141:分数計算のさせ方haroha2001-10-31(水) 00:36
     #24212-0RE#24209:分数計算のさせ方よねKEN2001-10-31(水) 03:03
     #24256-0RE#24212:分数計算のさせ方haroha2001-10-31(水) 23:32
     #24259-0RE#24256:分数計算のさせ方よねKEN2001-11-01(木) 01:53
     #24344-0RE#24259:分数計算のさせ方haroha2001-11-03(土) 00:53
     #24345-0RE#24344:分数計算のさせ方匿名243452001-11-03(土) 02:10
     #24346-0RE#24345:分数計算のさせ方haroha2001-11-03(土) 05:01
#24055-0
oo4oでオラクルデータをCSVに吐き出す
 現在オラクルに入っているデータをEXCELなどで開き、編集して結果をデータベース
に反映するプログラムを作っています。例えば友人スケジュールの名前、住所、電話番号
などをデータベースに登録しておいて、それをEXCELなどで開いて、編集(名前、住所、
電話番号などを書き換えるとそれがデータベースに反映されるというプログラムを作って
いるのですが。それを実現するために
 現在、オラクルに入っているデータをSELECT分などを使ってダイナセットオブジェクト
につめてから、そのデータをCSV形式に変換してからEXCELなどで開こうと思っています。
 そこで問題があがったのですが、普通といったらおかしいですが、標準的な設計として
データベースとEXCELを絡ませる場合こういう作りでよいのでしょうか?自分が疑問に感じ
た点として
 1.データベースの情報をEXCELにCSVで吐き出してそれを編集した結果をデータベースに反映
させるにはVBでやったほうがいいのか?VBAでやったほうがいいのか?もしくはEXCELを編集し
た結果を直データベースに反映させる作りはおかしいのか?
 2.データベースのデータをCSVに変換(もしかしたらXLS形式もできるんですか?)
ダイナセットオブジェクトの中身をCSVファイルに変換するとき一つずつロジックを手書きで書く
つもりなのですが、もしかしたら簡単にできるメソッドとか方法があるのですか?
 疑問に感じた事を列挙しましたが、お教えください

#24108-0
RE#24055:oo4oでオラクルデータをCSVに吐き出す
本来なら、データベースの編集を Excel でやるのは望ましくありません。データを
どうにでも編集できてしまうからです。数値フィールドを Excel に持ってきたのに、
Excel のセルで文字列を書き込めば、データを戻すところでエラーになります。

もし、簡単な方法で、Oracle データベースを修正したいのなら、Access に Oracle 
へのリンクテーブルを作成する事をお勧めします。
#ODBC データソースを作成したら、あとはリンクテーブルを作成するだけで、編集
 可能になります。

フックさんは、何を目的にしているのでしょう?
・Oracle を簡単に編集したい
・Excel を使って編集したい
・Oracle をファイルにしたい
・Oracle を編集できるものを作成して配布したい
#24111-0
RE#24108:oo4oでオラクルデータをCSVに吐き出す
> フックさんは、何を目的にしているのでしょう?
> ・Oracle を簡単に編集したい
> ・Excel を使って編集したい
> ・Oracle をファイルにしたい
> ・Oracle を編集できるものを作成して配布したい

そうですね、確かに説明がわかりずらかったですね、申し訳ないです。
冷静に考えてみると、データベースアップリケーションとEXCELをどうしても
絡めたかったのでしょうが、データベースを編集するアプリケーションを作って
EXCELを絡めるとなるとどこで絡めてよいのかが一番わからなかったんです実は
どうしてもEXCELを絡めたかったのですが冷静に考えるとEXCELにCSVなどで
データベース情報を吐き出させても意味はあるのでしょうか?データベース
アプリケーションなどですべて処理を行えばEXCELなどに落としてもただのEXCELで
表示で終わってしまうので、ただの持ち運び携帯用データを抽出しいうことになる
だけですかね?何かうまい使い道はないでしょうか?
#24138-0
RE#24111:oo4oでオラクルデータをCSVに吐き出す
> > フックさんは、何を目的にしているのでしょう?
> 
> 冷静に考えてみると、データベースアップリケーションとEXCELをどうしても
> 絡めたかったのでしょうが、データベースを編集するアプリケーションを作って
> EXCELを絡めるとなるとどこで絡めてよいのかが一番わからなかったんです実は
> どうしてもEXCELを絡めたかったのですが冷静に考えるとEXCELにCSVなどで
> データベース情報を吐き出させても意味はあるのでしょうか?データベース
> アプリケーションなどですべて処理を行えばEXCELなどに落としてもただのEXCELで
> 表示で終わってしまうので、ただの持ち運び携帯用データを抽出しいうことになる
> だけですかね?何かうまい使い道はないでしょうか?

Excel を使う意味はありますよ。(^_^) 主に、データを加工するためですが。
(Excel を使って、データを修正・更新する事はありませんね。(^^;))

Excel にデータをロードできれば、Excel を知っている人なら、データの加工や統計な
どの解析、グラフ化やレポート化などができるので便利です。これだけでも、Excel を
使う価値はあります。

ただし、Excel だけではデータベースにアクセスできません。ADO を使うにしても、oo4o
を使うにしても、コンピュータの環境を整える必要があるので、Excel を使っていてもイン
ストールが必要になりますね。

各コンピュータに、データベースに接続するための環境が整っていれば、インストールの手
間はかからないので、Excel でデータベース閲覧ファイルを作って、配布するだけで済みま
す。これは簡単で、実際、私の方でもやってます。(^_^)v

私の方では、管理データを修正する機能も付けています。ただし、それはシートとは別にな
ります。(^^)
#管理データの一覧をシートに表示します。ただし、内部的にもデータを保持します。その後、
 ツールバーのボタンを押すとダイアログボックスが表示され、その上で、データを修正し、
 データベースに保存します。シート上のデータは、どのようにも修正できますが、それは、
 一切、データベースには反映されません。
#24139-0
分数計算のさせ方
VBで割り算をさせて、
答えを分数表示にさせようと思ったのですが、
どうやっても答えが小数で表示されてしまいます。
(例)失敗 1÷3=0.3・・  希望 1÷3=1/3
     3÷21=0.142857・・  3÷21=1/7
と表示してほしいのです。
どうすればよいのか教えていただけませんか?
#24141-0
RE#24139:分数計算のさせ方
> VBで割り算をさせて、
> 答えを分数表示にさせようと思ったのですが、
> どうやっても答えが小数で表示されてしまいます。
> (例)失敗 1÷3=0.3・・  希望 1÷3=1/3
>      3÷21=0.142857・・  3÷21=1/7
> と表示してほしいのです。
> どうすればよいのか教えていただけませんか?

そういうものを自作しましょう。

どの程度の内容の計算を扱いたいかによりますが、
「整数 / 整数」だけなら、約分を自作するだけでよいでしょう。

それなりに式を計算できるようにするとなると(少数は考慮しないとして)、
  分数と分数の足し算、引き算、掛け算、割り算
を自作しないといけないと思います。
(分数同士の計算だけ作れば、整数は4なら、4/1と考えればOKですね。)
#24151-0
RE#24138:oo4oでオラクルデータをCSVに吐き出す
藤代千尋さんありがとうございます。勉強になりましたEXCELはただ吐き出させるためだけのもの
として利用させていただきます
#24209-0
RE#24141:分数計算のさせ方
> > VBで割り算をさせて、
> > 答えを分数表示にさせようと思ったのですが、
> > どうやっても答えが小数で表示されてしまいます。
> > (例)失敗 1÷3=0.3・・  希望 1÷3=1/3
> >      3÷21=0.142857・・  3÷21=1/7
> > と表示してほしいのです。
> > どうすればよいのか教えていただけませんか?
> 
> そういうものを自作しましょう。
> 
> どの程度の内容の計算を扱いたいかによりますが、
> 「整数 / 整数」だけなら、約分を自作するだけでよいでしょう。

約分を自作するとは?
素因数分解をするようにすればいいのですか?
例えば144を人が素因数分解する場合は、
 |144
2|72
2|36
2|18
2|9
3|3
として 144=2^4×3^2
としますが、因数分解をさせようとおもって

Private Sub Command1_Click()

Dim a As Integer

a = Val(Text1.Text)
    If Val(Text1.Text) = a / 2 Then
      Label1.Caption = 2 / a
    ElseIf Val(Text1.Text) = a / 3 Then
      Label1.Caption = a / 3

End If

End Sub

このあとも 5,7,11,13と同じようなことをやっても
うんともすんとも言わないのでわけがわからなくて困っています。
#24212-0
RE#24209:分数計算のさせ方
> > 「整数 / 整数」だけなら、約分を自作するだけでよいでしょう。
> 
> 約分を自作するとは?
> 素因数分解をするようにすればいいのですか?

最大公約数を求めればいいわけですが、要領的には素数を求めるとか、
素因数分解するとかと同じです。

> Private Sub Command1_Click()
> 
> Dim a As Integer
> 
> a = Val(Text1.Text)
>     If Val(Text1.Text) = a / 2 Then
>       Label1.Caption = 2 / a
>     ElseIf Val(Text1.Text) = a / 3 Then
>       Label1.Caption = a / 3
> 
> End If
> 
> End Sub
> 
> このあとも 5,7,11,13と同じようなことをやっても
> うんともすんとも言わないのでわけがわからなくて困っています。

条件式とループの基本的なところの理解からはじめましょう。

「#24210 RE#24185:自動的に増える配列
 たかあき 2001年10月31日(水)1:16 」
の内容が参考になると思います。
#24256-0
RE#24212:分数計算のさせ方
分数をラインで区切ることで分数の和を計算することには成功しました。
しかし、3つの分数を計算させたかったので下のようにしたのですが、
下の状態から2つの分数を計算させようと思って、
1つの分母分子を0にすると計算結果まで0分の0になってしまいました。
どうすれば解決できますか?
 
Private Sub Command1_Click()

    Dim A As Integer, B As Integer, c As Integer, d As Integer, _
    e As Integer, f As Integer, g As Integer, h As Integer
    
    A = Val(Text1.Text)
    B = Val(Text2.Text)
    c = Val(Text3.Text)
    d = Val(Text4.Text)
    e = Val(Text5.Text)
    f = Val(Text6.Text)
    Label1.Caption = a * c * e
    Label2.Caption = b * c * e + a * c * f + a * d * e

 b   d   f   bce+acf+aed
 - + - + - = -----------  こんな感じです。
 a   c   e   aec

#24259-0
RE#24256:分数計算のさせ方
> 分数をラインで区切ることで分数の和を計算することには成功しました。
> しかし、3つの分数を計算させたかったので下のようにしたのですが、
> 下の状態から2つの分数を計算させようと思って、
> 1つの分母分子を0にすると計算結果まで0分の0になってしまいました。
> どうすれば解決できますか?

分母に0は指定できませんので、
分母のTextBoxには0を入れられないように制限すればよいかと。
分母が空白だった場合も数値を入れて下さいというようなメッセージを出してエラーとするか、
あるいは1が省略されたものとして扱うか(つまりは整数の入力と判断する)
しましょう。
#24344-0
RE#24259:分数計算のさせ方
> 分母に0は指定できませんので、
> 分母のTextBoxには0を入れられないように制限すればよいかと。
> 分母が空白だった場合も数値を入れて下さいというようなメッセージを出してエラーとするか、

こちらは、分母が0の場合「0で除算できません。」
というMsgboxを出すことで解決しました。

> あるいは1が省略されたものとして扱うか(つまりは整数の入力と判断する)
> しましょう。

こちらは、分母の横にチェックボックスを設けて、
チェックボックスをクリックしたら分母の値が
強制的に1になるようにしたかったので、

Private Sub Check1_Click()

    If Check1.Value = vbChecked Then
       Text1.Visible = Val(Text1.Text) = 1 And False
    Else
       Text1.Visible = True
    End If

End Sub

としたのですが、結局チェックボックスをクリックしても、
分母にある値が優先されてしまいました。
どうしたらよいでしょうか?
#24345-0
RE#24344:分数計算のさせ方
> > あるいは1が省略されたものとして扱うか(つまりは整数の入力と判断する)
> > しましょう。
> こちらは、分母の横にチェックボックスを設けて、
> チェックボックスをクリックしたら分母の値が
> 強制的に1になるようにしたかったので、
> Private Sub Check1_Click()
>     If Check1.Value = vbChecked Then
>        Text1.Visible = Val(Text1.Text) = 1 And False

これでは必ずText1.Visible=Falseになってしまいます。
代入文の右辺に Val(Text1.Text) = 1 などと「=」を使うと
代入ではなくて同じかどうかを調べることになります。
で、その結果と And False と論理演算することになりますので
右辺は必ずFalseになり、
左辺のText1.Visibleには必ずFalseが代入される事になります。

一行で書かないで
 Text1.Text="1"
 Text1.Visible=False
としましょう。
#24346-0
RE#24345:分数計算のさせ方
匿名さんよねKENさんありがとうございました。
無事にチェックボックスをクリックしたら
Text1に1が入るようになりました。
このページと関連する記事:
#282-4電卓作ってますが・・・2003-08-06(水) 17:27
#20551-0VBで分数を表現したいのですが・・・2002-04-12(金) 14:20
#95-1テキストボックスに入力された数式の計算結果を出したい2001-05-27(日) 04:38
#909-0同じCommandボタンを繰り返し使う方法1999-08-19(木) 16:56
#19498-0ふと思ったこと2001-03-11(日) 08:42
#3360-0割り算の戻り値について2001-12-27(木) 11:41
#3360-2割り算の戻り値について2001-12-27(木) 02:41
#5174-0Single型同士の計算結果がうまくいかない2000-01-20(木) 19:50
#36893-0計算が上手く行きません2001-01-15(月) 09:43
#4047-0少数で割り算1999-11-14(日) 11:44
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。
(※ 構成の誤り、広告等の不適切な記事、リンク切れ、読めないページの報告など)