[リストへもどる]
一括表示

投稿時間:2003/12/26(Fri) 13:46
投稿者名:かかし
Eメール:
URL :
タイトル:
エクセルデータの編集について
 色々考えてみたのですが解決法がわからず質問させていただきました。
 
 エクセル97のデータにDBからデータを追加するということをやっています。
 
 エクセルデータのオープンは出来たのですが、DBからデータを追加するというのがうまくできなくて
 悩んでいる最中で御座います。
 エクセルデータ上に受付番号があり、DB上のその番号と同じレコードから必要な項目を抽出し、
 エクセルに追加する・・・といった事を行おうとしています。
 エクセルデータ ⇒ 受付番号 顧客名
           01   山田
 DB(オラクル)⇒ 受付番号 品物
           01   りんご
 作成したいエクセル ⇒ 受付番号 顧客名 品物
             01   山田  りんご
 SQL文で select 受付番号,品物 FROM テーブル名 where 受付番号= xlSheet.Cells(2, 1).Value
 と書いて
 xlSheet.Cells(2,3).Value = rec.Fields("品物")
 とかで指定って出来るのでしょうか?
 どなたかお教え願います。

投稿時間:2003/12/26(Fri) 16:02
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: エクセルデータの編集について
>  xlSheet.Cells(2,3).Value = rec.Fields("品物")
>  とかで指定って出来るのでしょうか?
という事だけの質問ならご自分で試されたら即解る事かと思います。

私は、DB(オラクル)を使用した事もないので解りませんが、上記を実現する上で
貴方はどこまでできて、どの部分が解らないのでしょうか?

DBからのアウトプットにも色々方法があると思うのですが、個々のデータなら
Excelに代入できるのでしょうか?、どのような形でExcelに代入したいのでしょうか?
(レコード形式のまま、個々のセルにデータを個別で)
>xlSheet.Cells(2,3).Value = rec.Fields("品物")
rec.Fields("品物") には何が入っていますか?
Excelのセルにではなく、VBのテキストボックスになら表示できますか?
それが出来ないなら、ExcelうんぬんよりDBの操作について質問して下さい。
まずは、一番単純にDBからデータを1個取り出しそのデータをExcelのセルに表示する事
から初めて下さい。

その上で、貴方が出来ない事(部分)のコードを提起するようにして下さい。
こういった掲示板では,1から10迄教えて下さい的な質問は、ご法度です。

又、「オラクル Excel VB」をキーワードにWEBを検索すれば、サンプルコードが
いくらでも見つかります。
http://www.ylw.mmtr.or.jp/~itcarrot/vbscriptsql/oo4o_ora_10.html

投稿時間:2003/12/28(Sun) 13:20
投稿者名:かかし
Eメール:
URL :
タイトル:
Re^2: エクセルデータの編集について
 色々試した結果、エクセルにDBからのデータは追加が可能になりました。
 
 ですが、エクセルのレコードが無くなってしまっているのに、loopをうまく抜け出せません。。。
 
  Do Until xlBook.AtEndOfLine
 
 ではレコードが終了した場所でループを抜けることが出来ません。
 (レコードに終わりがなくずっとLOOPしてしまう)
 
 何か方法があればお教え願います。

投稿時間:2003/12/28(Sun) 14:49
投稿者名:かかし
Eメール:
URL :
タイトル:
Re^3: エクセルデータの編集について
 こちらも解決しました。
 
 お騒がせして済みません。
 
 アト、お聞きしたいことがあります。
 エクセルに罫線を引く場合
  xlSheet.Range(A1:R6).Borders.LineStyle = xlContinuous
 で出来るのですが、
  xlSheet.Range(A1:R'r').Borders.LineStyle = xlContinuous
 の様にすると罫線が引けません。(rは1からエンドレコードまでループします)
 
 解決できる方法ってありますか?

投稿時間:2003/12/28(Sun) 16:03
投稿者名:かかし
Eメール:
URL :
タイトル:
Re^4: エクセルデータの編集について
 たびたびすみません
 こちらも解決しました。
 
 ホントにお騒がせして済みませんでした。