|
Postada em 27/09/2006 14:00 hs
Como fazer um combobox de ukm formulario de cliente listar nomes de vária cidades mas quando for para gravar na tabela, ele gravar apenas o código desta cidade? Se tem como fazer isto alguém me ensine pode ser até com outro componente. Obrigado.
|
|
|
|
Cardoso G
|
PATOS DE MINAS MG - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 27/09/2006 14:36 hs
'tem sim gomes, é o seguinte 'quando vc for preencher o comobo vc guarda o codigo 'tipo assim: rs.open "select codigo,descricao from cidades",conexao while not rs.eof combo1.additem rs.fields(1).value Me.Combo1.ItemData(Me.Combo1.NewIndex) = rs.Fields(0).Value 'guarda o codigo rs.movenext wend 'depois quando vc clicar na cidade pegue o codigo assim: Private Sub Combo1_Click() Dim codigo As Integer codigo = Me.Combo1.ItemData(Me.Combo1.ListIndex) 'recupera o codigo da cidade selecionada End Sub
|
|
|
|
Postada em 27/09/2006 14:36 hs
Exemplo: With rs Do Until .EOF 'percorre o recordset ate o fim
'inclui os itens correspondentes Combobox.AddItem rs(DescricaoCampo) Combobox.ItemData(Combo.NewIndex) = rs(CodigoCampo) .MoveNext
Loop 'fecha o recordset .Close End With
Para gravar é por exemplo "...WHERE codigo = " & combobox.ItemData(2) qq dúvida é só postar at+ :)
|
|
|
Gomes_L
não registrado
|
|
ENUNCIADA !
|
|
|
Postada em 27/09/2006 15:21 hs
Tentei fazer mas não entendi. pode ser q estamos falando de comtroles diferemtes!!! Estou usando o componente "ADO Data Control 6.0" para fazer a conexões com o banco de dados que é interbase, na propriedade customGenaral estou usando "Use ODBC Data Source Name" e na propredade recordsource do ADODC é preciso ter algum código ou fica em branco? Cardoso G, eu deixo os códigos como rs ou troco por outro nome?
|
|
|
Cardoso G
|
PATOS DE MINAS MG - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 27/09/2006 15:32 hs
a sim, vc esta usando adodc, nunca trabalhei com ele, faço tudo via ado no codigo mesmo , sem componente
|
|
|
|
Postada em 27/09/2006 16:25 hs
não muda em praticamente nada: With ADODC1.Recordset Do Until .EOF 'percorre o recordset ate o fim
'inclui os itens correspondentes Combobox.AddItem ADODC1.Recordset(DescricaoCampo) Combobox.ItemData(Combo.NewIndex) = ADODC1.Recordset(CodigoCampo) .MoveNext Loop End With
ATUALIZANDO UM REGISTRO: ADODC1.Recordset.Find "Codigo = " & Combobox.ItemData(Combobox.ListIndex) IF NOT ADODC1.Recordset.EOF THEN ADODC1.Recordset("Nome") = Combobox.Text ADODC1.Recordset.Update ENDIF Inserindo ADODC1.Recorset.AddNew ADODC1.Recordset("Codigo") = Combobox.ItemData(Combobox.ListIndex) ADODC1.Recordset("Nome") = Combobox.Text ADODC1.Recordset.Update Se for utilizar código: Dim Cnn as ADODB.Connection Set Cnn = New ADODB.Connection Cnn.CursorLocation = adUseClient Cnn.Open "Provider=Microsoft.JET.OLEDB.4.0;Data Source=C:|MEUMDB.MDB" Atualizando Cnn.Execute "UPDATE Tabela SET Nome = '" & Combobox.Text & "' WHERE Codigo = " & Combobox.ItemData(Combobox.ListIndex) Inserindo Cnn.Execute "INSERT INTO Tabela (codigo,nome) VALUES (" & Combobox.ItemData(Combobox.ListIndex) & ",'" & Combobox.Text & "')" Qq dúvida é só postar at+
|
|
|