パラメータクエリにVBのFORMからパラメータを受け渡すには?


いいちこ  2004-01-22 05:41:54  No: 81640  IP: [192.*.*.*]

VB6.0+JET4.0です。(ADO)

連結フォーム(FORM2)にDBの情報を表示させています。

表示させる内容をある条件で絞り込みたいと思い立ち、
FORM1を作成し、そこに条件を選択できるConboboxを用意して、
その選択値によって、FORM2の連結先DBが抽出されるようにしたいと
考えています。

ところが。。。試行錯誤してるうちに夜が明けてしまいました。

パラメータの受け渡しはできているはずなのですが、連結フォームに
何も表示されなくなってしまいました。


●FORM1(抽出条件選択フォーム)のコード    

Private Sub Command1_Click()

Dim mysqlr As String
Dim rsd As New ADODB.Recordset
Dim Prm As ADODB.Parameter

'コンボボックスの選択値を変数にSET
DataCombo1.text = GT '←GTは標準モジュールでPUBLICで宣言済(STRING型)

'パラメータクエリを作成
mysqlr = "SELECT * From TBLA WHERE U_NO = ? ORDER BY FLG1, FLG2"

'Commandオブジェクトを作成
Set cmdMaster = New ADODB.Command
cmdMaster.ActiveConnection = cn
cmdMaster.CommandText = mysqlr

'Parameterオブジェクトを作成
Set Prm = New ADODB.Parameter
Set Prm = cmdMaster.CreateParameter("Prm", adVariant, adParamInput, 20)
cmdMaster.Parameters.Append Prm

'Parameterを設定
cmdMaster.Parameters("Prm").Value = "+ GT +"  '←パラメーターにコンボボックスの選択値をSET

'パラメータクエリを実行
Set rsd = New ADODB.Recordset
Set rsd = cmdMaster.Execute

Unload Me
Load Form1
Form1.Show

End Sub

※連結フォーム(FORM2)にある複数のコントロールのデータメンバーはいずれもcmdMaster(データソースはdemain)

特にエラー表示が出るわけではなく、連結フォームに情報が反映されないというものです。

どなたか、どうかお助けください。

編集 削除
魔界の仮面弁士  2004-01-22 08:57:03  No: 81641  IP: [192.*.*.*]

> cmdMaster.Parameters("Prm").Value = "+ GT +"  '←パラメーターにコンボボックスの選択値をSET
これですと、『変数GTの値』を指定しているのではなく、
『「+ GT +」という文字列』を指定している事になってしまうかと。

編集 削除