[リストへもどる]
一括表示

投稿時間:2003/04/09(Wed) 11:36
投稿者名:zkei
Eメール:
URL :
タイトル:
MDBパラメータについての問題
いつも お世話になっております。どうも ありがとうございました。
いま、次の問題があります。よろしくお願いします。

標準モジュール(Public.bas)は次のような、
Public cnn As New ADODB.Connection
Public cmd As New ADODB.Command
Public rst As New ADODB.Recordset
Public Sub loaddata()
   If cnn.State = 1 Then
      cnn.Close
   End If
   Set cnn = New ADODB.Connection
       cnn.ConnectionString = "DSN=VBexercise"
       cnn.Open
   If rst.State = 1 Then
      rst.Close
   End If
   If rst1.State = 1 Then
      rst1.Close
   End If
   If rst.State = 0 Then
'データベースの連続
      rst.Open "title", cnn, adOpenKeyset, adLockOptimistic, adCmdTable
   End If    
End Sub

検索関数は次のような
Private Sub cmdFind_Click()
Dim Sql   As String
Sql1 = " SELECT  distinct 調査年,調査月,調査者," & _
          " From title" & _
          " where 調査年 = 2003"      
        " and 調査月 = 03"
Set cmd = New ADODB.Command
Set cmd.ActiveConnection = cnn
cmd.CommandText = gSql1
Set rst = cmd.Execute
.............
End Sub
「パラメータが少なすぎます。3を指定してください」というエラーメセージが表示しました。
 誰が知れば教えてください。よろしくお願いします。

投稿時間:2003/04/09(Wed) 11:46
投稿者名:A221
Eメール:
URL :
タイトル:
Re: MDBパラメータについての問題
>  Sql1 = " SELECT  distinct 調査年,調査月,調査者," & _
                                               ^^^
Sql1 = " SELECT  distinct 調査年,調査月,調査者" & _

とりあえず、ここを直して実行してみてください。

投稿時間:2003/04/09(Wed) 11:50
投稿者名:匿名1412
Eメール:
URL :
タイトル:
Re: MDBパラメータについての問題
調査年, 調査月, 調査者
の3つのフィールドはちゃんと存在していますか?
# つづりをまちがっていたりしていませんか?

調査年, 調査月
の2つのフィールドの型は数値型ですか?
文字列型の場合には、 2003 や 03 を ' でくくる必要があります。

っていうか、 , が余計じゃん...

投稿時間:2003/04/09(Wed) 13:06
投稿者名:zkei
Eメール:
URL :
タイトル:
MDBパラメータについての問題の説明
A221さんと匿名1412さん、返信、どうも ありがとうございました。
先の問題は曖昧がありました。ごめんください。
先の問題は次のような問題です。

標準モジュール(Public.bas)は次のような
Public cnn As New ADODB.Connection
Public cmd As New ADODB.Command
Public rst As New ADODB.Recordset
Public Sub loaddata()
   If cnn.State = 1 Then
      cnn.Close
   End If
   Set cnn = New ADODB.Connection
       cnn.ConnectionString = "DSN=VBexercise1"
       cnn.Open
   If rst.State = 1 Then
      rst.Close
   End If
   If rst.State = 0 Then
'データベースの連続
      rst.Open "vbexercise", cnn, adOpenKeyset, adLockOptimistic, adCmdTable
   End If
End Sub
検索関数は次のような
Private Sub Command1_Click()
Dim Sql  As String
loaddata
Sql1 = " SELECT  distinct 調査年,調査月,調査者" & _
          " From title" & _
          " where 調査年 = 2003" & _
           " and 調査月 = 03"
Set cmd = New ADODB.Command
Set cmd.ActiveConnection = cnn
cmd.CommandText = gSql1
Set rst = cmd.Execute
If rst.BOF = rst.EOF Then
Else
    Text1.Text = rst.Fields("調査年").Value
    Text2.Text = rst.Fields("調査月").Value
    Text3.Text = rst.Fields("調査者").Value
End If
End Sub

「commandオブジェクトのcommandテキストが設定されていません。」というエラーメセージが表示しました。
教えてください。よろしくお願いします。
 

投稿時間:2003/04/09(Wed) 13:14
投稿者名:だい
Eメール:dee_bassist@hotmail.com
URL :
タイトル:
Re: MDBパラメータについての問題の説明
>  Sql1 = " SELECT  distinct 調査年,調査月,調査者" & _

で使用している変数名



>  cmd.CommandText = gSql1

で使用している変数名

をよく見てください(gが邪魔ですよね)。