VisualBasic6.0 を使用しています。
SQLのINSERT文についての質問なのですが、
フォームのテキストに記入された内容を新規のレコードとしてデータベースに登録する場合、どのようなプログラムを組めばよいのでしょうか?
下記のように組んでみたのですが、エラー(実行時エラー'-2147217904(80040e10)':一つ以上の必要なパラメータの値が設定されていません)がでてしまいます。
以下のプログラムでは、
Form4の.Text1~7にユーザーが記入した情報をデータベースのM_USERというテーブルの新レコードとして追加しようとしています。
Private Sub Command1_Click()
Dim objcon As ADODB.Connection
Dim objrec As ADODB.Recordset
Dim strConnectString As String
Dim strMDBFilePath As String
Dim strSQL As String
strMDBFilePath = "C:\Documents and Settings\Watanabe Ryota\デスクトップ\新ダイエット\diet.mdb"
strConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strMDBFilePath & ";"
Set objcon = New ADODB.Connection
objcon.Open strConnectString
strSQL = "INSERT INTO M_USER(U_ID,U_NAME,U_PASS,U_SIZES1,U_SIZES2,U_CAL,U_IKIGOMI) VALUES(Form4.Text1,Form4.Text2,Form4.Text3,Form4.Text4,Form4.Text5,Form4.Text6,Form4.Text7)"
Set objrec = objcon.Execute(strSQL)
End Sub
おねがいします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
> 同じように、1箇所ずつ文字列を区切って、「&」でつないでください。
に、追記。
文字列型の項目の場合、「'~'」で括ってやらないと、エラーになります。
また、指定された文字列が「'」を含む場合、「''」に置き換えないと、やはりエラーに・・・
No.2
- 回答日時:
「文字列の中」に変数名やプロパティを直接記述しても駄目です。
例えば、
> strConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strMDBFilePath & ";"
も、
> strConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=strMDBFilePath;"
こう書いたてしまったら、ちゃんと動かないですよね?
同じように、1箇所ずつ文字列を区切って、「&」でつないでください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) 実行時エラー´5854´ 文字列型パラメーターが長すぎます。 3 2023/06/08 21:17
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
String""から型'Double'への変...
-
マクロで"#N/A"のエラー行を削...
-
On ErrorでエラーNoが0
-
【VBA】ワークブックを開く時に...
-
お助けください!VBAのファイル...
-
VBA データ(特定値)のある最...
-
ExecuteNonQueryメソッドの戻り値
-
VBでSQL文のUPDATE構文を使った...
-
【Access】Excelインポート時に...
-
エクセルVBAで今まで使えていた...
-
エクセルでリンクされたイメー...
-
ACCESSで値を代入できないとは?
-
OpenOffice Basicで簡単な関数...
-
Excel vbaについての質問
-
ACCESS DAO で不要なテーブルの...
-
#N/Aの文字を削除するには
-
インポート時のエラー「データ...
-
フランスの生年月日(jj/mm/aaaa)
-
VBAでfunctionを利用しようとし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
String""から型'Double'への変...
-
VBAでfunctionを利用しようとし...
-
【VBA】ワークブックを開く時に...
-
マクロで"#N/A"のエラー行を削...
-
文字列内で括弧を使うには
-
実行時エラー 438 の解決策をお...
-
On ErrorでエラーNoが0
-
お助けください!VBAのファイル...
-
VBA データ(特定値)のある最...
-
インポート時のエラー「データ...
-
実行時エラー'-2147467259(8000...
-
ACCESSで値を代入できないとは?
-
VB.net 重複チェックがしたいです
-
ActiveCell.FormulaR1C1の変数
-
ApplicationとWorksheetFunctio...
-
「実行時エラー '3167' レコー...
-
【VB.NET】 パワポ操作を非表示で
-
フランスの生年月日(jj/mm/aaaa)
-
【マクロ】 IFERROR関数をマク...
おすすめ情報