すいません。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)を開...
-
Accessを開きなおすとテキスト...
-
ACCESSのSQLで、NULLかNULLでな...
-
警察はスマホに保存した動画や...
-
縦書きテキストボックスの表示"...
-
最新の日付とその金額をクエリ...
-
シートが異なるセル同士を、相...
-
「1004:アプリケーション定義...
-
カラム上の重複を削除するクエ...
-
エクセル 顧客管理表に担当ごと...
-
ファイルが壊れて読み取れませ...
-
汎用カード型のデータベースソ...
-
android版のMs accessはありま...
-
更新クエリをリンクデータベー...
-
Access フォーム上でコンボボッ...
-
帳票フォームでのあるコンボボ...
-
式を簡単にしてください。ACCES...
-
データベース用語「実表」の読み方
-
構文エラー:演算子がありませ...
-
Accessフォームで平均値の出し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データベースファイル(.db)を開...
-
警察はスマホに保存した動画や...
-
ACCESSのSQLで、NULLかNULLでな...
-
コンピュータ用語、データベー...
-
Accessを開きなおすとテキスト...
-
更新クエリをリンクデータベー...
-
「1004:アプリケーション定義...
-
Accessのリンクテーブルについて
-
縦書きテキストボックスの表示"...
-
Notion@リレーション値の取得...
-
Accessフォームからパラメータ...
-
20万行あるデータを動かしたい
-
エクセル
-
汎用カード型のデータベースソ...
-
android版のMs accessはありま...
-
データベースソフトの「TCARD f...
-
コンピュータ
-
c言語の問題です。これを踏まえ...
-
QRコードとバーコードについて
-
リスト形式の表とデータベース...
おすすめ情報