COMBOBOX_TEXT
Amigos, fiz muitas pesquisas e nao tive sucesso:
Como posso criar uma query para pegar o campo [Ô]CodGar[Ô] na tabela e preencher uma text no evento click de uma ComboBox, detalhe o campo [Ô]CodGar[Ô] eh um campo numerico e corresponde ao nome selecionado na combobox, tipo NmeGar = joao
CodGar = 1
Meu botao:
Tentei assim mais sem sucesso:
Fico grato a todos os amigos do VbMania.
Como posso criar uma query para pegar o campo [Ô]CodGar[Ô] na tabela e preencher uma text no evento click de uma ComboBox, detalhe o campo [Ô]CodGar[Ô] eh um campo numerico e corresponde ao nome selecionado na combobox, tipo NmeGar = joao
CodGar = 1
Meu botao:
Private Sub CboAtend_Click()
Set Conexão = New ADODB.Connection
Conexão.Open [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\SysRestWave\Sistema\MovRest\MovRest.mdb;Jet OLEDB:Database Password=BbVbPassword;[Ô]
Dim SQL As String
SQL = [Ô]SELECT * FROM Garcom WHERE CodGar = 1[Ô] [ô]Assim ele so pega o que eu informo, quero pegar outros da mesma tabela.
Set rs = Conexão.Execute(SQL)
Do While Not rs.EOF
TxtCodAtend.Text = IIf(IsNull(rs!CodGar), [Ô][Ô], rs!CodGar)
rs.MoveNext
Loop
End Sub
Tentei assim mais sem sucesso:
Private Sub CboAtend_Click()
Set Conexão = New ADODB.Connection
Conexão.Open [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\SysRestWave\Sistema\MovRest\MovRest.mdb;Jet OLEDB:Database Password=BbVbPassword;[Ô]
Dim SQL As String
SQL = [Ô]SELECT CodGar,NmeGar FROM Garcom ORDER BY CodGar[Ô]
Set rs = Conexão.Execute(SQL)
Do While Not rs.EOF
TxtCodAtend.Text = IIf(IsNull(rs!CodGar), [Ô][Ô], rs!CodGar) [ô]So retorna o ultimo registro da tabela.
rs.MoveNext
Loop
End Sub
Fico grato a todos os amigos do VbMania.
Falou o movefirst logo abaixo do comentário posta e tenta ai :)BRASIL HJ HEEHEHE
Private Sub CboAtend_Click()
Set Conexão = New ADODB.Connection
Conexão.Open [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\SysRestWave\Sistema\MovRest\MovRest.mdb;Jet OLEDB:Database Password=BbVbPassword;[Ô]
Dim SQL As String
SQL = [Ô]SELECT CodGar,NmeGar FROM Garcom ORDER BY CodGar[Ô]
Set rs = Conexão.Execute(SQL)
[ô]Faltou aqui *************************************
rs.movefirst
Do While Not rs.EOF
TxtCodAtend.Text = IIf(IsNull(rs!CodGar), [Ô][Ô], rs!CodGar) [ô]So retorna o ultimo registro da tabela.
rs.MoveNext
Loop
End Sub
Private Sub CboAtend_Click()
Set Conexão = New ADODB.Connection
Conexão.Open [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\SysRestWave\Sistema\MovRest\MovRest.mdb;Jet OLEDB:Database Password=BbVbPassword;[Ô]
Dim SQL As String
SQL = [Ô]SELECT CodGar,NmeGar FROM Garcom ORDER BY CodGar[Ô]
Set rs = Conexão.Execute(SQL)
[ô]Faltou aqui *************************************
rs.movefirst
Do While Not rs.EOF
TxtCodAtend.Text = IIf(IsNull(rs!CodGar), [Ô][Ô], rs!CodGar) [ô]So retorna o ultimo registro da tabela.
rs.MoveNext
Loop
End Sub
MORDENTI, tem razao estava faltando mesmo MoveFirst, mais mesmo assim, continua retornando apenas o ultimo registro.
Private Sub CboAtend_Click()
Set Conexão = New ADODB.Connection
Conexão.Open [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\SysRestWave\Sistema\MovRest\MovRest.mdb;Jet OLEDB:Database Password=BbVbPassword;[Ô]
Dim SQL As String
SQL = [Ô]SELECT CodGar,NmeGar FROM Garcom ORDER BY CodGar[Ô]
Set rs = Conexão.Execute(SQL)
[ô]Faltou aqui *************************************
rs.MoveFirst <=======================
Do While Not rs.EOF
TxtCodAtend.Text = IIf(IsNull(rs!CodGar), [Ô][Ô], rs!CodGar) [ô]So retorna o ultimo registro da tabela.
rs.MoveNext
Loop
End Sub
Estou tentando mais nao tive sucesso ainda.
Private Sub CboAtend_Click()
Set Conexão = New ADODB.Connection
Conexão.Open [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\SysRestWave\Sistema\MovRest\MovRest.mdb;Jet OLEDB:Database Password=BbVbPassword;[Ô]
Dim SQL As String
SQL = [Ô]SELECT CodGar,NmeGar FROM Garcom ORDER BY CodGar[Ô]
Set rs = Conexão.Execute(SQL)
[ô]Faltou aqui *************************************
rs.MoveFirst <=======================
Do While Not rs.EOF
TxtCodAtend.Text = IIf(IsNull(rs!CodGar), [Ô][Ô], rs!CodGar) [ô]So retorna o ultimo registro da tabela.
rs.MoveNext
Loop
End Sub
Estou tentando mais nao tive sucesso ainda.
primerio como vc preencheu a combo?
Já sei, coloca a opção do textbox como true para multiline. Tenta e me fala até as 15:00 to aqui.
Não precisa de tudo isso não.
SE vc preencheu seu combobox apenas com:
Combo.AddItem Recordset([Ô]DESCRICAO[Ô])
Combo.ItemData(Combo.NewIndex) = Recordsert([Ô]CODIGO[Ô])
Para pegar o CÓDIGO da opção selecionada no combo é só fazer assim:
TxtCodigo.Text = Combo.ItemData(Combo.ListIndex)
SE vc preencheu seu combobox apenas com:
Combo.AddItem Recordset([Ô]DESCRICAO[Ô])
Combo.ItemData(Combo.NewIndex) = Recordsert([Ô]CODIGO[Ô])
Para pegar o CÓDIGO da opção selecionada no combo é só fazer assim:
TxtCodigo.Text = Combo.ItemData(Combo.ListIndex)
Marcelo, estou preenchendo a combobox assim:
SQL = [Ô]SELECT * FROM Garcom[Ô]
Set rs = Conexão.Execute(SQL)
rs.MoveFirst
Do While Not rs.EOF
CboAtend.AddItem rs!NmeGar
rs.MoveNext
Loop
MORDENTI, nao eh preciso deixar o textbox true para multiline, pois eh apenas um caracter, concorda.
SQL = [Ô]SELECT * FROM Garcom[Ô]
Set rs = Conexão.Execute(SQL)
rs.MoveFirst
Do While Not rs.EOF
CboAtend.AddItem rs!NmeGar
rs.MoveNext
Loop
MORDENTI, nao eh preciso deixar o textbox true para multiline, pois eh apenas um caracter, concorda.
só pra adiantar, primeiro preencha a combo assim
acima apenas um exemplo
agora no seu código
e pronto
With Combo1
.AddItem [Ô]Joao[Ô]
.ItemData(.NewIndex) = 1
AddItem [Ô]Pedro[Ô]
.ItemData(.NewIndex) = 2
AddItem [Ô]Joaquim[Ô]
.ItemData(.NewIndex) = 3
AddItem [Ô]Marcelo[Ô]
.ItemData(.NewIndex) = 4
End With
acima apenas um exemplo
agora no seu código
Private Sub CboAtend_Click()
Set Conexão = New ADODB.Connection
Conexão.Open [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\SysRestWave\Sistema\MovRest\MovRest.mdb;Jet OLEDB:Database Password=BbVbPassword;[Ô]
Dim SQL As String
SQL = [Ô]SELECT * FROM Garcom WHERE CodGar = [Ô] & CboAtend.Index
Set rs = Conexão.Execute(SQL)
If (rs.EOF = True And rs BOF = True) then exit Sub
TxtCodAtend.Text = rs!CodGar & [Ô][Ô]
End Sub
e pronto
preencha seu combo assim
pronto e use o código acima citado
SQL = [Ô]SELECT * FROM Garcom[Ô]
Set rs = Conexão.Execute(SQL)
Do While Not rs.EOF
CboAtend.AddItem rs!NmeGar
CboAtend.ItemData(CboAtend.NewIndex) = rs!CodGar
rs.MoveNext
Loop
pronto e use o código acima citado
MSMJUDAS, eu estou preenchendo a combo de outra forma, mais valeu sua dica.
Marcelo mano, esta me ocorrendo um erro nesta linha aqui veja:
Fico grato amigo.
SQL = [Ô]SELECT * FROM Garcom WHERE CodGar = [Ô] & CboAtend.Index
[ô]Objet Not An ArrayFico grato amigo.
Tópico encerrado , respostas não são mais permitidas