プロが教えるわが家の防犯対策術!

<やりたいこと>
保存されているレコードのフィールド値を修正するために、修正用非連結フォームを開くとき、当該レコードの値を転記したい。

<できないこと>
コンボボックスに値が転記できない。
(テキストボックスには値が転記できる。)

Private Sub Form_Load()

Dim Sql As String
Sql = "SELECT* FROM T_履歴 WHERE NO.=" & Key & ";"

 'KeyはPublic変数、別のフォームモジュール内で値が格納されている。
 'Keyによって、レコードはひとつに絞られている。

Dim DB As ADODB.Connection
Set DB = CurrentProject.Connection

Dim RS As New ADODB.Recordset
RS.Open Sql, DB, adOpenForwardOnly, adLockOptimistic, adCmdText

Me!氏名combo = RS!氏名

↑この式で思うような結果が得られない。
 .Text .Value のプロパティを付加しても結果は同じ。
 ACCESS97ではこのように コンボボックス名="値" で、
 値が代入され、コンボのソースの中からその値が選ばれた状態になったのに…。
 

A 回答 (1件)

どもども田吾作7です。



( ・・)?ン できませんか?
普通ならできますよ。

うーむ・・・
ちょっと気になったのですが、
RS.Open Sql, DB, adOpenForwardOnly, adLockOptimistic, adCmdText
の後に
Debug.Print RS.RecordCount
として、レコード件数が1以上かどうか調べてもらえませんか?

テキストにできて、コンボに出来ないのはおかしい。
もしかして、
RS.Open Sql, DB, adOpenStatic, adLockOptimistic, adCmdText
というようにカーソルタイプを変更したらうまくいくとか・・・

ちょっとレコード件数が気になります。

情報をください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!