
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を探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
型 varchar から型 numeric へ...
-
DBとテキストファイルの比較
-
エクセルの行数が限界です。
-
【ACCESS】複数のパソコンから...
-
【パフォーマンス】ファイル読...
-
Accessで入力したデータ...
-
エクセルのフォームについて(...
-
ACCESSで条件付き書式の設定方法
-
ODBCを使わないでExcelへ連携
-
エクセルの重複データの曖昧検索
-
ハイフン無しの電話番号データ...
-
データベースの最適化をマクロ...
-
oracleで別のグローバルデータ...
-
RBDの反対語は?□DB??
-
JavaとOracle Javaって何が違う...
-
oo4oの読み方・・・・。
-
Oracle で文字列からタイムスリ...
-
sqlite2とsqlite3の違いについて
-
Accessでタブ区切りのテキスト...
-
LVMでHDDが壊れた時の対応
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
型 varchar から型 numeric へ...
-
ハイフン無しの電話番号データ...
-
エクセルのフォームについて(...
-
オラクルのLONG RAW型のテーブ...
-
カンマ区切りで格納するカラム...
-
ACCESSで条件付き書式の設定方法
-
エクセルの重複データの曖昧検索
-
【ACCESS】複数のパソコンから...
-
ODBCを使わないでExcelへ連携
-
拡張子「**.mdx」のファイル...
-
【パフォーマンス】ファイル読...
-
〔VBA・マクロ〕EXCELからAC...
-
OpenOfficeのBaseでExcelのデー...
-
POSTGRESQLにEXC...
-
DBとテキストファイルの比較
-
ACCESSではどの程度の規...
-
データのインポートに失敗します。
-
Access or SQLServer どちらを...
-
データベースソフトのTCARDにつ...
-
CSVでDLしたデータにダブルクォ...
おすすめ情報