나는 꽤 이해하지 못했다 ... 문제를 재현하려했지만 probs가 없다. 다음 코드를 사용했습니다.
Private Sub CommandBut_Click()
Dim cnn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim sqls As String
Dim myRec As Integer
Set rs = New ADODB.Recordset
Set cnn = New ADODB.Connection
cnn.ConnectionString = "UID=***;PWD=***;DSN=***;"
sqls = "select data1, data2 from someRandomTable where data1 = '" & textbox1 & '" and data2 = '" & textbox2 & '"
rs.Open sqls, cnn.ConnectionString, adOpenStatic
Dim z As Integer
z = 1
If rs.RecordCount > 0 Then
rs.MoveFirst
Do While Not rs.EOF
Cells(z, 1).Value = rs.Fields(0).Value
Cells(z, 2).Value = rs.Fields(1).Value
z = z + 1
End With
rs.MoveNext
Loop
Else
MsgBox "nothing found", vbCritical
End If
Set rs = Nothing
Set cnn = Nothing
End Sub
TextBox1,2의 ControlSourceProperty를 sheet1! A1 및 B1로 설정했습니다.
CommandBut_Click은 텍스트 상자의 값을 읽은 다음 SQL로 덮어 쓰고 textbox1 및 2 값을 업데이트합니다.
그냥 추측하지만 ControlSource 속성을 재 할당 시도? 나는. 그것을 제거한 다음 다시 적용하십시오. #MightWork – markblandford
그게 효과가 있지만 다른 셀에 바인딩 된 100 개 이상의 텍스트 상자가 있고 코드에서 모두 업데이트하지 않아도됩니다. – NiMuSi