すいません。ACCESS2003 VBAで下記の問題で困っています。
新たに作成したmdbファイル(テーブルの中身は空)に既存のmdbファイルのテーブル内容をコピーしたいのですが、Yes/Noフラグ型だけ移行できません。一応サンプルのソースです↓
Dim db As DAO.Database
Dim RS As DAO.Recordset
Dim strsql As String
コピー元のmdbファイルをオープン
Set db = OpenDatabase("コピー元mdb")
'SQLの生成
strsql = ""
strsql = strsql & " SELECT * FROM テーブル名"
'レコードセット生成
Set RS = db.OpenRecordset(strsql, dbOpenSnapshot, dbReadOnly)
'コピー元テーブルにデータがあるか判定
If RS.RecordCount = 0 Then
msgbox "データがありません"
Else
RS.MoveFirst
'コピー先のデータベースを設定
Set db = OpenDatabase("コピー先mdb")
'レコードの初期化
db.Execute (DELETE FROM コピー先テーブル名)
Do While RS.EOF = False
strsql = ""
strsql = strsql & " INSERT INTO コピー先テーブル名("
strsql = strsql & " ,コピー先のYes/Noフラグ値" '
strsql = strsql & ")VALUES("
strsql = strsql & " ,'"コピー元のYes/Noフラグ値 "' "
strsql = strsql & ")"
db.Execute (strsql)
RS.MoveNext
Loop
End If
RS.Close
db.Close
No.2ベストアンサー
- 回答日時:
#1です
>> Yes/Noフラグ型
> まぁ、置いといて・・・
> この型は、数値であって、文字ではありません
の意味が判りずらかったでしょうか?
> strsql = ""
> strsql = strsql & " INSERT INTO D_SK_DATA("
> strsql = strsql & " FLG"
> strsql = strsql & ")VALUES("
> strsql = strsql & " '" & RS.Fields("FLG") & "' "
strsql = strsql & RS.Fields("FLG")
> strsql = strsql & ")"
と、1行違うと言う話ね
「'」で囲むと文字列、数値の場合、不要なのよ
参考URL:http://office.microsoft.com/ja-jp/access/HP01032 …
No.1
- 回答日時:
> Yes/Noフラグ型
まぁ、置いといて・・・
この型は、数値であって、文字ではありません
と言うことで、「 INSERT INTO 」の「 ' 」は、型が違うと言う話
Yes : -1
No : 0
と、言う話ね
この回答への補足
すいません。簡単にしたつもりが、かえってわかりにくい表記になっていましたので、訂正いたします。
strsql = ""
strsql = strsql & " INSERT INTO D_SK_DATA("
strsql = strsql & " FLG"
strsql = strsql & ")VALUES("
strsql = strsql & " '" & RS.Fields("FLG") & "' "
strsql = strsql & ")"
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Visual Basic(VBA) SQLで抽出 4 2022/12/04 13:55
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Access(アクセス) 実行時エラー3131 FROM 句の構文エラーです について 7 2022/06/13 15:45
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- Visual Basic(VBA) ACCESS DAO で不要なテーブルのフィールド(列)の削除 4 2022/06/23 12:13
- Access(アクセス) docmd.gotorecordを起動するには 5 2022/06/17 15:20
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル
-
データベースファイル(.db)を開...
-
警察はスマホに保存した動画や...
-
旧filemakerで和暦(令和など)...
-
Accessを開きなおすとテキスト...
-
縦書きテキストボックスの表示"...
-
ACCESSのSQLで、NULLかNULLでな...
-
QSL でのフォーム画面作成について
-
QRコードとバーコードについて
-
データベースソフトの「TCARD f...
-
SQLを使いこなしている人が ETL...
-
汎用カード型のデータベースソ...
-
DBのタイプの指定とサイズにつ...
-
Accessフォームからパラメータ...
-
accessでの請求管理について
-
エクセルのフィルタ抽出が固まる
-
構文エラー:演算子がありませ...
-
コンピュータ用語、データベー...
-
コンピュータ
-
android版のMs accessはありま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データベースファイル(.db)を開...
-
Accessを開きなおすとテキスト...
-
警察はスマホに保存した動画や...
-
ACCESSのSQLで、NULLかNULLでな...
-
エクセルのフィルタ抽出が固まる
-
CSVファイルでテキストの改行の...
-
構文エラー:演算子がありませ...
-
Accessフォームからパラメータ...
-
20万行あるデータを動かしたい
-
Accessのリンクテーブルについて
-
コンピュータ
-
最新の日付とその金額をクエリ...
-
データベースとウェブ(WWW)の共...
-
更新クエリをリンクデータベー...
-
「1004:アプリケーション定義...
-
リスト形式の表とデータベース...
-
android版のMs accessはありま...
-
Excelフィルタ抽出で「検索して...
-
縦書きテキストボックスの表示"...
-
Notion@リレーション値の取得...
おすすめ情報