Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5790 / 13645 ツリー ←次へ | 前へ→

【48848】DB接続のエラー yumi 07/5/11(金) 14:06 質問[未読]
【48849】Re:DB接続のエラー neptune 07/5/11(金) 14:36 回答[未読]
【48850】Re:DB接続のエラー yumi 07/5/11(金) 16:07 お礼[未読]
【48852】Re:DB接続のエラー neptune 07/5/11(金) 17:57 発言[未読]

【48848】DB接続のエラー
質問  yumi  - 07/5/11(金) 14:06 -

引用なし
パスワード
   DB操作初心者です。

ユーザフォームのコマンドボタンが押されたら
以下の処理をしたいと思っています。

1.work_contents(DB)から、Label1に入力された
ユーザIDに該当するデータを取得する。
2.テキストボックスに入力された、時間、金額、交通費など
をwork_contents(DB)に書き込む(更新・編集)
(ユーザIDに該当するレコードのみ更新・編集したい)

実行すると「型が一致しません」とエラー表示されます。
何がいけないのか全くわかりません・・・

教えて頂けますでしょうか???

************************************************************************
Option Explicit

Dim cn As Connection
Dim rs As Recordset
Dim Select_no As Long
Dim Selcmd As String

Private Sub CommandButton1_Click()

'データベース接続
Set cn = New Connection
cn.ConnectionString = "provider=microsoft.jet.oledb.4.0;" _
            & "data source=\\filer\Consignment_of_business_activities.mdb"
cn.Open

'抽出条件指定
Selcmd = "select * from work_contents" _
     & "where ユーザID = " & Label1
    
'データ更新
Set rs = New ADODB.Recordset
rs.Open "work_contents", Selcmd, cn, adOpenKeyset, adLockOptimistic

rs!ユーザID = Label1
rs!作業時間 = TextBox1
rs!作業時間_時間 = TextBox2
rs!金額 = TextBox3
rs!交通費 = TextBox4
rs.Update

'データベース切断
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing

End Sub

************************************************************************

【48849】Re:DB接続のエラー
回答  neptune  - 07/5/11(金) 14:36 -

引用なし
パスワード
   ▼yumi さん:
こんにちは

>実行すると「型が一致しません」とエラー表示されます。
>何がいけないのか全くわかりません・・・
どこでエラーが出るか書いておいてください。
全部見るのは面倒ですから。

>'抽出条件指定
>Selcmd = "select * from work_contents" _
>     & "where ユーザID = " & Label1
>    
>'データ更新
>Set rs = New ADODB.Recordset
>rs.Open "work_contents", Selcmd, cn, adOpenKeyset, adLockOptimistic
書式は(Helpより引用)
recordset.Open Source, ActiveConnection, CursorType, LockType, Options
です。
検証はしていませんが、第1引数以外は全て「型が一致しません」
確認してみては如何ですか?

【48850】Re:DB接続のエラー
お礼  yumi  - 07/5/11(金) 16:07 -

引用なし
パスワード
   neptuneさん、ありがとうございます。

>どこでエラーが出るか書いておいてください。
>全部見るのは面倒ですから。
すみません。
rs.Open "work_contents", Selcmd, cn, adOpenKeyset, adLockOptimistic
のところでエラーになります。

>recordset.Open Source, ActiveConnection, CursorType, LockType, Options
>です。
>検証はしていませんが、第1引数以外は全て「型が一致しません」
>確認してみては如何ですか?
MSDNのHELPがないもので、本を見ながら作成していますので、
色々並び替えながら実行しています。
Selcmd,を取って実行するとうまくいくのですが。。。
もうちょっとがんばってみます。
ありがとうございます。

【48852】Re:DB接続のエラー
発言  neptune  - 07/5/11(金) 17:57 -

引用なし
パスワード
   ▼yumi さん:
こんにちは
>MSDNのHELPがないもので、本を見ながら作成していますので、
>色々並び替えながら実行しています。
>Selcmd,を取って実行するとうまくいくのですが。。。
>もうちょっとがんばってみます。
どうぞMSDNのアドレスです。
初めの4文字はここでは禁止ですから、スペースを入れてます。
h t t p://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpado260/htm/mdmthrstopen.asp

>rs.Open "work_contents", Selcmd, cn, adOpenKeyset, adLockOptimistic
SQLを実行させるには本来は、第一引数の所に、SQLが入ります。第5引数は
adCmdTextを指定しなければなりません。
rs.Open Selcmd, cn, adOpenKeyset, adLockOptimistic,adCmdText

"work_contents"(テーブル、クエリ)のレコードセットを開くには極端な話
rs.Open "work_contents"
でも開けます。

詳しくは先程のMSDNを見て下さい。

5790 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free