
No.23
- 回答日時:
ボタンクリックでT_データのチェックの
フィールドをすべてFalseにします。
これでチェックがすべてはずれます。
Private Sub コマンド100_Click()
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("T_データ", dbOpenDynaset)
rs.MoveFirst
Do Until rs.EOF
rs.Edit
rs!チェック = False
rs.Update
rs.MoveNext
Loop
End Sub
この回答への補足
ありがとうございます
でも これですとデータが溜まっていき動きが悪くなっていきませんでしょうか
チェックを入れたレコードを削除したほうが いいのではないでしょうか
どの様なものなのでしょうか
遅くまですいません
No.21
- 回答日時:
最初のコメントの部分が間違っていたようです。
データの流れはデータベース2からデータベース1です。
Private Sub コマンド0_Click()
Dim dbOut As Database 'データベース2
Dim dbIn As Database 'データベース1
Dim rsOutMain As Recordset 'データベース2のT_データ
Dim rsOutSub As Recordset 'データベース2のT_データ明細
Dim rsInMain As Recordset 'データベース1のT_データ
Dim rsInSub As Recordset 'データベース1のT_データ明細
Dim rsInNUM As Recordset 'データベース1のT_番号
Dim h As Long
Dim i As Long
Dim j As Long
Set dbOut = CurrentDb '送り出し:データベース2
Set dbIn = DBEngine.Workspaces(0).OpenDatabase("C:\データベース1.mdb")
Set rsOutMain = dbOut.OpenRecordset("T_データ", dbOpenDynaset)
Set rsOutSub = dbOut.OpenRecordset("T_データ明細", dbOpenDynaset)
Set rsInMain = dbIn.OpenRecordset("T_データ", dbOpenDynaset)
Set rsInSub = dbIn.OpenRecordset("T_データ明細", dbOpenDynaset)
Set rsInNUM = dbIn.OpenRecordset("T_番号", dbOpenDynaset)
'T_データのエクスポート(データベース2からデータベース1へ)
rsOutMain.MoveFirst
Do Until rsOutMain.EOF
If rsOutMain!チェック = True Then
i = rsOutMain!番号
rsInMain.AddNew
rsInMain!番号 = rsInNUM!番号 + 1
rsInMain!項目1 = rsOutMain!項目1
rsInMain!項目2 = rsOutMain!項目2
j = rsInMain!番号
rsInMain.Update
'T_データ明細のエクスポート(データベース2からデータベース1へ)
'T_データに紐付けられたT_データ明細のエクスポート
rsOutSub.MoveFirst
Do Until rsOutSub.EOF
If rsOutSub!番号 = i Then
rsInSub.AddNew
rsInSub!番号 = j
rsInSub!名前 = rsOutSub!名前
rsInSub!住所 = rsOutSub!住所
rsInSub!電話 = rsOutSub!電話
rsInSub.Update
End If
rsOutSub.MoveNext
Loop
'T_番号の更新
rsInNUM.Edit
rsInNUM!番号 = rsInNUM!番号 + 1
rsInNUM.Update
End If
rsOutMain.MoveNext
Loop
rsOutMain.Close
Set rsOutMain = Nothing
rsOutSub.Close
Set rsOutSub = Nothing
rsInMain.Close
Set rsInMain = Nothing
rsInSub.Close
Set rsInSub = Nothing
rsInNUM.Close
Set rsInNUM = Nothing
dbOut.Close
Set dbOut = Nothing
dbIn.Close
Set dbIn = Nothing
End Sub
この回答への補足
ありがとうございます!
理解できました>
データ転送できましたありがとうございます
しかし ボタンを押せば何回同じデータを転送してしまいます
データベース2のチェックフィールドにチェックを入れたデータを転送後に消すにはどの様にすれば良いでしょうか
すいません ご指導をお願いいたします
No.20
- 回答日時:
すみません。
一度コードのコメントを入れて送りなおします。どうやらデータベース1
とデータベース2を反対にしていたようです。
さきほどコメントについてもご破算にしておいて
ください。
コードは間違いないのですが。すもません。
データの送り出しは、
データベース2からデータベース1ですね。
コメントが反対になっていました。
少しお待ちを。
No.19
- 回答日時:
わたしも混乱していました。
はい、取っています。dbIn(データベース1)のrsInNUM(T_番号)
でいいのです。
それと訂正です。
Dim rsInNUM As Recordset 'データベース2のT_番号
これは、
Dim rsInNUM As Recordset 'データベース1のT_番号
です。
これが混乱の元かもしれません。
No.18
- 回答日時:
>はい、取っています。
dbIn(データベース1)のrsInNUM(T_番号)ではなく、
はい、取っています。dbIn(データベース2)のrsInNUM(T_番号)
です。
間違えていました。
No.17
- 回答日時:
>dbInの番号を取得してそれに+1しなければいけないように思うのですが
はい、取っています。dbIn(データベース2)のrsInNUM(T_番号)
の番号というフィールドから取り出して1をくわえたものを
送り込んだレコードの番号としています。
rsInMain.AddNew
rsInMain!番号 = rsInNUM!番号 + 1
rsInMain!項目1 = rsOutMain!項目1
rsInMain!項目2 = rsOutMain!項目2
j = rsInMain!番号
rsInMain.Update
rsInMain!番号 = rsInNUM!番号 + 1
この部分です。
>重複エラーになっています
どのようなエラーですか。
提示したコードの中では番号だけで表現しているので
番号Noと番号を保持しているテーブルのフィールド名
などが分かりにくいかもしれませんが。
コード表にデータベースとテーブルとフィールドの
関係のコメントをすべていれましょうか。
この回答への補足
ありがとうございます
>重複エラーになっています
どのようなエラーですか。
番号の重複エラーです
コード表にデータベースとテーブルとフィールドの
関係のコメントをすべていれましょうか。
すいません お願いできますでしょうか
No.16
- 回答日時:
一応、動作確認をしています。
番号を保持するテーブルの名前をT_番号、フィールドの名前を番号
とします。
IDはインポートすればオートナンバーなので他のデータが
入れば自動的に番号が発行されるのでこれはエクスポートの
対象外ですね。それでは以下です。
Private Sub コマンド0_Click()
Dim dbOut As Database 'データベース1
Dim dbIn As Database 'データベース2
Dim rsOutMain As Recordset 'データベース1のT_データ
Dim rsOutSub As Recordset 'データベース1のT_データ明細
Dim rsInMain As Recordset 'データベース2のT_データ
Dim rsInSub As Recordset 'データベース2のT_データ明細
Dim rsInNUM As Recordset 'データベース2のT_番号
Dim h As Long
Dim i As Long
Dim j As Long
Set dbOut = CurrentDb
Set dbIn = DBEngine.Workspaces(0).OpenDatabase("C:\データベース1.mdb")
Set rsOutMain = dbOut.OpenRecordset("T_データ", dbOpenDynaset)
Set rsOutSub = dbOut.OpenRecordset("T_データ明細", dbOpenDynaset)
Set rsInMain = dbIn.OpenRecordset("T_データ", dbOpenDynaset)
Set rsInSub = dbIn.OpenRecordset("T_データ明細", dbOpenDynaset)
Set rsInNUM = dbIn.OpenRecordset("T_番号", dbOpenDynaset)
'T_データのエクスポート(データベース2からデータベース1へ)
rsOutMain.MoveFirst
Do Until rsOutMain.EOF
If rsOutMain!チェック = True Then
i = rsOutMain!番号
rsInMain.AddNew
rsInMain!番号 = rsInNUM!番号 + 1
rsInMain!項目1 = rsOutMain!項目1
rsInMain!項目2 = rsOutMain!項目2
j = rsInMain!番号
rsInMain.Update
'T_データ明細のエクスポート(データベース2からデータベース1へ)
'T_データに紐付けられたT_データ明細のエクスポート
rsOutSub.MoveFirst
Do Until rsOutSub.EOF
If rsOutSub!番号 = i Then
rsInSub.AddNew
rsInSub!番号 = j
rsInSub!名前 = rsOutSub!名前
rsInSub!住所 = rsOutSub!住所
rsInSub!電話 = rsOutSub!電話
rsInSub.Update
End If
rsOutSub.MoveNext
Loop
'T_番号の更新
rsInNUM.Edit
rsInNUM!番号 = rsInNUM!番号 + 1
rsInNUM.Update
End If
rsOutMain.MoveNext
Loop
rsOutMain.Close
Set rsOutMain = Nothing
rsOutSub.Close
Set rsOutSub = Nothing
rsInMain.Close
Set rsInMain = Nothing
rsInSub.Close
Set rsInSub = Nothing
rsInNUM.Close
Set rsInNUM = Nothing
dbOut.Close
この回答への補足
ありがとうございます
早速ご指導頂きましたコードを実行しましたが 重複エラーになっています
dbInの番号を取得してそれに+1しなければいけないように思うのですが
すいませんです
度々で申し訳ありませんがよろしくお願いいたします
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) IT用語について質問です。 以前ITパスポートの試験を受けた際にデータベースが何の集まりかについての 2 2022/12/10 12:29
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- MySQL データベースの複製の仕方(mysql) 2 2023/05/30 18:24
- JavaScript Q&Aの掲示板を作成していてヤフー知恵袋やgoo質問のように質問ごとにURLを生成したい 5 2023/08/04 01:22
- Oracle 参照関係のフィールドについて 1 2023/05/27 17:49
- Excel(エクセル) エクセルで沢山のレコードの最後に追記するには? 7 2023/04/10 13:27
- MySQL 【投稿情報用データベース posts】は必要ないと思います。 1 2022/06/02 21:25
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- PHP PHPSpreadsheetによる書き出し時のページネーション方法について 1 2023/03/20 10:35
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
型 varchar から型 numeric へ...
-
エクセルのフォームについて(...
-
POSTGRESQLにEXC...
-
エクセルの行数が限界です。
-
ハイフン無しの電話番号データ...
-
オラクルのLONG RAW型のテーブ...
-
OpenOfficeのBaseでExcelのデー...
-
データのインポートに失敗します。
-
カンマ区切りで格納するカラム...
-
外部データ取り込みのAccessへ...
-
データベースの最適化をマクロ...
-
データベースの2GBって・・・?
-
ODBC経由の処理が遅い
-
アクセスのデータがブッ壊れた...
-
データベースに接続したままの...
-
エクセルを取引先に渡したら何...
-
JavaとOracle Javaって何が違う...
-
CSEでDB接続しようとすると...
-
VPNでデータベースに接続した時...
-
キャッシュとバッファの違いは?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
型 varchar から型 numeric へ...
-
エクセルのフォームについて(...
-
ハイフン無しの電話番号データ...
-
オラクルのLONG RAW型のテーブ...
-
エクセルの重複データの曖昧検索
-
ACCESSで条件付き書式の設定方法
-
OpenOfficeのBaseでExcelのデー...
-
カンマ区切りで格納するカラム...
-
データのインポートに失敗します。
-
【ACCESS】複数のパソコンから...
-
DBとテキストファイルの比較
-
【パフォーマンス】ファイル読...
-
別のACCESSデータベースのテー...
-
AccessとPowerPointの会社と家...
-
エクセルの行数が限界です。
-
POSTGRESQLにEXC...
-
98のデータをvistaにUSB接続...
-
なぜMySQLを使うのか。
-
最適なデータベースソフト
-
栄養成分を計算する簡単なソフ...
おすすめ情報