VB6を使用しております。
Aテーブルから条件に合うデータを抽出しました。
Aテーブル(抽出後)
社名 コード 品名 数量
A社 001 いちご 6個
A社 002 みかん 1個
A社 003 りんご 3個
このレコードをBテーブルへと登録したいのですが、どう処理すれば
良いのか分かりません。
Bテーブル
社名 コード 品名 数量 No
A社 001 いちご 6個 1
A社 002 みかん 1個 2
A社 003 りんご 3個 3
また、Noフィールドには連番を登録したいと思っています。
Do Loopを使用すれば良いのかと思いやってみたのですが・・・
最初のレコードを繰り返し登録するだけで、次のレコードを登録する
事が出来ませんでした。
良きアドバイスがありましたら、宜しくお願い致します。
DBは何で、何を使ってデータベースに接続してるんでしょうか?
仮にMDB、ADOとして話を進めます。
> このレコードをBテーブルへと登録したいのですが、どう処理すれば
> 良いのか分かりません。
Bテーブルのレコードセットを用意してAddNewとか、
Insertクエリを発行するとか。
> 最初のレコードを繰り返し登録するだけで、次のレコードを登録する
> 事が出来ませんでした。
MoveNextしてますか?
> また、Noフィールドには連番を登録したいと思っています。
フィールドをオートナンバーにするか、
Maxで最大値を取り、インクリメントしてくか。
>Aテーブルから条件に合うデータを抽出しました。
データベースはなんですか?
接続方法は何ですか?(DAO?ADO?)
>最初のレコードを繰り返し登録するだけで、次のレコードを登録する
>事が出来ませんでした。
この部分のソースを記載して下さい。
かぶってしまいました。すみません。
編集 削除質問内容が不足していて申し訳ありません。
データベースはSQL Serverです。
ADOを使用しています。
ソースは下記のようにしました。
Do Until recData.EOF
With recHozon
.AddNew
.Fields!tCD = strMatter
.Fields!tDay = Format(Date, "yyyy/mm/dd")
.Fields!hinmei = recData!hinmei
.Fields!suuryou= recData!suuryou
.Fields!No = intCnt
.Update
.MoveNext
End With
intCnt = intCnt + 1
Loop
コレだと強制終了しないと延々繰り返してしまいます。
宜しくお願いします。
ケアレスミスですね。
このMoveNextはrecHozonに対して行われています。
recDataをMoveNextして下さい。
皆様、回答ありがとうございます!
以下の方法にて解決出来ました。
Do Until recData.EOF
With recData
intCnt = intCnt + 1
With recHozon
.AddNew
.Fields!tCD = strMatter
.Fields!tDay = Format(Date, "yyyy/mm/dd")
.Fields!hinmei = recData!hinmei
.Fields!No = intCnt
.Update
End With
.MoveNext
End With
Loop
的確なアドバイスありがとうございました!!!