Galera, tenho um formulario de Clientes , um textbox para o Nome (txtnome),quero que ao ir digitando o nome do cliente aparereça um listbox e eu possa achar o cliente.já fiz tudo so que cuando rodo em vez de selecionar a coluna Nome seleciona so a Codigo de cliente, se mudo a sql , da erro.O codigo
Pergunta
Guest - Jose Carlos -
Galera, tenho um formulario de Clientes , um textbox para o Nome (txtnome),quero que ao ir digitando o nome do cliente aparereça um listbox e eu possa achar o cliente.já fiz tudo so que cuando rodo em vez de selecionar a coluna Nome seleciona so a Codigo de cliente, se mudo a sql , da erro.O codigo
Dim cnx As Connection, rds As Recordset
Private Sub Form_Load()
Set cnx = New Connection
cnx.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0; Data source = " & App.Path & "\administrativo.mdb;"
cnx.Open
Set rds = cnx.Execute("SELECT nome FROM clientes")
' enche o listbox com os dados do recordset
With rds
.MoveFirst
Do While Not .EOF
LstItems.AddItem (.Fields(0)) ' AQUI DA ERRO (uso não valido de Null)
.MoveNext
Loop
End With
LstItems.Top = TxtSeek.Top + TxtSeek.Height
End Sub
Private Sub lstItems_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then TxtSeek = LstItems.List(LstItems.ListIndex): _
LstItems.Visible = False
End Sub
Private Sub txtSeek_Change()
On Error GoTo errmg
If Len(TxtSeek) > 0 Then
With LstItems
.ListIndex = 0
Do While .ListIndex <= .ListCount - 1
If Mid(.List(.ListIndex), 1, Len(TxtSeek)) _
= Mid(TxtSeek, 1, Len(TxtSeek)) Then _
.ListIndex = .ListIndex: .Visible = True: Exit Do _
Else: .Visible = False: _
.ListIndex = .ListIndex + 1
Loop
End With
Else
LstItems.Visible = False
End If
errmg:
If Err.Number <> 0 And Err.Number = 380 Then Exit Sub
End Sub
Private Sub txtSeek_KeyUp(KeyCode As Integer, Shift As Integer)
On Error Resume Next
If KeyCode = 40 Then
LstItems.SetFocus
LstItems.ListIndex = LstItems.ListIndex + 1
End If
If KeyCode = 13 Then TxtSeek = LstItems.List(LstItems.ListIndex): _
LstItems.Visible = False
End Sub
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.