こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

Visual Basic SQL INSERT ADO

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

おねがいします。

投稿日時 - 2007-09-10 10:26:41

QNo.3331969

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

3人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

> 同じように、1箇所ずつ文字列を区切って、「&」でつないでください。
に、追記。

文字列型の項目の場合、「'~'」で括ってやらないと、エラーになります。
また、指定された文字列が「'」を含む場合、「''」に置き換えないと、やはりエラーに・・・

投稿日時 - 2007-09-10 12:50:55

ANo.2

「文字列の中」に変数名やプロパティを直接記述しても駄目です。

例えば、
> strConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strMDBFilePath & ";"
も、
> strConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=strMDBFilePath;"
こう書いたてしまったら、ちゃんと動かないですよね?

同じように、1箇所ずつ文字列を区切って、「&」でつないでください。

投稿日時 - 2007-09-10 12:47:25

ANo.1

Debug.Print strSQL
として、strSQLの内容を確認してみてください。

投稿日時 - 2007-09-10 11:06:11

あなたにオススメの質問