1

というテキスト ボックスにデータを入力するコードがいくつかありますtext5 Forms!Form3!text5。しかし、このテキスト ボックスを更新するボタンをクリックするたびに、更新されます。

テキストが固定されたままになり、ボタンがクリックされるたびに新しいデータが追加されるようにしたいと思います。これまでに行ったコードを添付しました

Option Compare Database

Private Sub Command0_Click()

  Set db = CurrentDb

  Dim I As Integer
  Dim varNumber As Integer  ' this takes the number for how many times to loop
  Dim strQueryName As String  ' this is for the sql to find lowest rack number
  Dim P  As Integer  'this value is the prod number
  Dim x As Integer   'value from lowestrackSQL



  varNumber = Me.Quantity 'box from form me means this form
  prodnumber = Me.ProdNo  'box from form

  strQueryName = "SQLToFindLowestRackNumber"   'this will be used to execute the query


  strSQL = CurrentDb.QueryDefs(strQueryName).sql   ' this stores the sql but does not run it

  Forms!form3!txtPrint = strResult
  'Stop

  For I = 1 To varNumber  ' uses the quntity value to count how many times to loop

    x = DLookup("locationrack", strQueryName)  'puts value of query into value x
    prod# = prodnumber

    'below puts into imediate view box
    Debug.Print "Line number = " & I; ";  Rack Location = " & x; ";   Product Number = " & prod#; ";"
    'below puts it into form3 text box
    strResult = strResult & " Line Number = " & I & " Rack Location = " & x & "   Product Numner = " & prod# & vbCrLf & ""
    Forms!form3!Text5 = strResult


    'below executes the SQL
    DoCmd.SetWarnings False
    DoCmd.RunSQL "UPDATE [Location] SET [Location].ID = 0 WHERE [Location].RackID =" & x
    DoCmd.SetWarnings True

 Next I



End Sub   

ご覧のとおり、の値がstrResultテキスト ボックスに渡され、ループを再開した後でも値をテキスト ボックスに追加し続けたいだけです。

4

2 に答える 2

1
Forms!Form3!Text5 = strResult

...テキストボックスの内容を変数の値で上書きします。

値を上書きする代わりに追加するには、次のようにする必要があります。

Forms!Form3!Text5 = Forms!Form3!Text5 & strResult
于 2012-07-06T22:25:52.607 に答える
1

他の変数を使用して、ループの外で strResult を宣言してみてください。

Dim I As Integer
Dim varNumber As Integer  ' this takes the number for how many times to loop
Dim strQueryName As String  ' this is for the sql to find lowest rack number
Dim P  As Integer  'this value is the prod number
Dim x As Integer   'value from lowestrackSQL
Dim strResult as String

スコープが for ループ内に限定されているため、このままでは毎回クリアされると思います

また、言うところは

Forms!form3!txtPrint = strResult

下に追加

strResult = Forms!form3!text5
于 2012-07-06T17:25:19.293 に答える