2016-12-15 20 views
0

テーブルを照会してtexboxをrsに設定するには、この構文を実行していますが、実際にはテキストボックスは値に設定されていません。それはヌルのままです。そのテキストボックスの値が値またはrsVBAセットのテキストボックスを照会結果と同じにする

Dim rs As DAO.Recordset 
Dim strSQL As String 
Dim db As Database 

Set db = CurrentDb 

strSQL = "Select MAX(pkid)+1 from tblInfo" 

Set rs = db.OpenRecordset(strSQL) 

Do While Not rs.EOF 

    txtID = rs 

Loop 

答えて

1

まずに設定されている。この中に変更する必要がありますあなたは何をテキストボックスオブジェクトにレコードセットを設定しようとしています。テキストボックスのテキスト/値を設定する必要があり、レコードセットのフィールドにアクセスする必要があります。

Dim rs As DAO.Recordset 
Dim strSQL As String 
Dim db As Database 

Set db = CurrentDb 

strSQL = "Select MAX(pkid)+1 from tblInfo" 

Set rs = db.OpenRecordset(strSQL) 

Do While Not rs.EOF 
    txtID.SetFocus 'set the focus so we can add the text 
    txtID.Text = rs.Fields(0).Value 
    'txtID.Value = rs.Fields(0).Value 'uncomment out if you don't need focus on the textbox and comment out the previous 2 lines 
Loop 
+1

使用 'txtID.Value = ...'、あなたは '.SetFocus'を必要としません。 – Andre

+0

@Andre +1良いキャッチと私は答えを更新しました – Sorceri

0

あなたは、単一の行ですべてこれを行うことができます:

Me!txtID.Value = DMax("pkid", "tblInfo") + 1 
関連する問題