Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

marcia232865

gravar item de combobox em tabela

Recommended Posts

oi gente, tenho como gravar numa tabela, somente o código do municipio selecionado pelo usuário numa combobox???assim, a combo é preenchida por uma tabela, municipios, quando o usuario estiver incluindo um cliente, seleciona o municipio da combo, mas na hora do insert into, quero somente gravar o muncod, que é a chave da tabela municipios, portanto a chave estrangeira da tabela clientes....aqui tá a combo....Public Sub enche_combo() cbocidades.Clear Do Until arqtemp.EOF cbocidades.AddItem arqtemp("munnome") & " - " & arqtemp("munuf") & " - " & arqtemp("muncod") arqtemp.MoveNext Loop arqtemp.Close cbocidades.ListIndex = 0End Subagradeço, marcia

Compartilhar este post


Link para o post
Compartilhar em outros sites

Supondo que arqtemp("muncod") seja numerico entao faca assim:Public Sub enche_combo()cbocidades.ClearDo Until arqtemp.EOFcbocidades.AddItem arqtemp("munnome") & " - " & arqtemp("munuf") cbocidades.ItemData(cbocidades.NewIndex) = arqtemp("muncod")arqtemp.MoveNextLooparqtemp.Closecbocidades.ListIndex = 0End SubAgora pra gravar você pode fazer assimPublic Function Grava()Dim Sql as StringDim varCodigo as IntegervarCodigo = cbocidades.ItemData(cbocidades.ListIndex)Sql = "Insert Into suaTabela (campoCodigo) Values (" & varCodigo & ")........End FunctionEh isso ai. O resto da rotina de gravacao eh contigo.Rodrigo Defende

Compartilhar este post


Link para o post
Compartilhar em outros sites

oi, olha essa agora, tá gravando certinho, alterando certinho, tudo beleza, mas quando vou alterar o registro, mas não altero o campo da cidade, dá esse erro:run-time error '381'invalid property array index indexo codigo tá aí, :Private Sub cmdsalvar_Click(Index As Integer)Dim cta As IntegerDim varcodigo As Integervarcodigo = cbocidades.ItemData(cbocidades.ListIndex)cta = 0've se informou o nomeIf (txtpacnome = "" Or txtpacsobrnome = "" Or txtpacdtanas = "") Then MsgBox "Por favor verifique, estão faltando informações.." txtpacnome.SetFocus Exit SubEnd IfIf frmpaciente.cmd = "inclui" Then Verifica_RStemp rstemp.Open "select * from paciente order by paccod", cnnclinica While Not rstemp.EOF cta = rstemp("paccod") rstemp.MoveNext Wend cta = cta + 1 cnnclinica.Execute "insert into paciente values (" & cta & ", '" & txtpacnome & "', '" & txtpacsobrnome & _ "', '" & txtpacendere & "', " & txtpaccep & _ ", " & varcodigo & ", '" & txtpacemail & _ "', '" & txtpacfone & "', '" & txtpacdtanas & _ "', '" & cbopacsexo & "', '" & cbopacestcivil & _ "', '" & cbopaccor & "', '" & cbopacescol & _ "', '" & txtpacprofiss & "', '" & txtpactipsangue & _ "', '" & txtpacdtacad & "', " & txtpacnrfilho & _ ", '" & txtpachist & "')"ElseIf frmpaciente.cmd = "altera" Then cnnclinica.Execute "update paciente set pacnome = '" & txtpacnome & "', pacsobrnome = '" & txtpacsobrnome & _ "', pacendere = '" & txtpacendere & _ "', paccep = " & txtpaccep & ", muncod = " & varcodigo & ", pacemail = '" & txtpacemail & _ "', pacfone = '" & txtpacfone & "', pacdtanas = '" & txtpacdtanas & "', pacsexo = '" & cbopacsexo & _ "', pacestcivil = '" & cbopacestcivil & "', paccor = '" & cbopaccor & _ "', pacescol = '" & cbopacescol & "', pacprofiss = '" & txtpacprofiss & _ "', pactipsangue = '" & txtpactipsangue & "', pacdtacad = '" & txtpacdtacad & _ "', pacnrfilho = " & txtpacnrfilho & ", pachist = '" & txtpachist & _ "' where paccod = " & txtpaccodEnd IfIf rs.State = 1 Then rs.Requery 1 frmpaciente.Preenche End If If rs.State <> 1 Then rs.Open "select * from paciente order by pacnome", cnnclinica rs.Requery 1 frmpaciente.Preenche End IfUnload MeEnd Sub----------------------------Public Sub enche_combo() cbocidades.Clear Do Until arqtemp.EOF cbocidades.AddItem arqtemp("munnome") & " - " & arqtemp("munuf") & " - " & arqtemp("muncod") cbocidades.ItemData(cbocidades.NewIndex) = arqtemp("muncod") arqtemp.MoveNext Loop arqtemp.Close cbocidades.ListIndex = 0End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

oi, olha essa agora, tá gravando certinho, alterando certinho, tudo beleza, mas quando vou alterar o registro, mas não altero o campo da cidade, dá esse erro:run-time error '381'invalid property array index o codigo tá aí, :Private Sub cmdsalvar_Click(Index As Integer)Dim cta As IntegerDim varcodigo As Integervarcodigo = cbocidades.ItemData(cbocidades.ListIndex)cta = 0've se informou o nomeIf (txtpacnome = "" Or txtpacsobrnome = "" Or txtpacdtanas = "") ThenMsgBox "Por favor verifique, estão faltando informações.."txtpacnome.SetFocusExit SubEnd IfIf frmpaciente.cmd = "inclui" ThenVerifica_RStemprstemp.Open "select * from paciente order by paccod", cnnclinicaWhile Not rstemp.EOFcta = rstemp("paccod")rstemp.MoveNextWendcta = cta + 1cnnclinica.Execute "insert into paciente values (" & cta & ", '" & txtpacnome & "', '" & txtpacsobrnome & _"', '" & txtpacendere & "', " & txtpaccep & _", " & varcodigo & ", '" & txtpacemail & _"', '" & txtpacfone & "', '" & txtpacdtanas & _"', '" & cbopacsexo & "', '" & cbopacestcivil & _"', '" & cbopaccor & "', '" & cbopacescol & _"', '" & txtpacprofiss & "', '" & txtpactipsangue & _"', '" & txtpacdtacad & "', " & txtpacnrfilho & _", '" & txtpachist & "')"ElseIf frmpaciente.cmd = "altera" Thencnnclinica.Execute "update paciente set pacnome = '" & txtpacnome & "', pacsobrnome = '" & txtpacsobrnome & _"', pacendere = '" & txtpacendere & _"', paccep = " & txtpaccep & ", muncod = " & varcodigo & ", pacemail = '" & txtpacemail & _"', pacfone = '" & txtpacfone & "', pacdtanas = '" & txtpacdtanas & "', pacsexo = '" & cbopacsexo & _"', pacestcivil = '" & cbopacestcivil & "', paccor = '" & cbopaccor & _"', pacescol = '" & cbopacescol & "', pacprofiss = '" & txtpacprofiss & _"', pactipsangue = '" & txtpactipsangue & "', pacdtacad = '" & txtpacdtacad & _"', pacnrfilho = " & txtpacnrfilho & ", pachist = '" & txtpachist & _"' where paccod = " & txtpaccodEnd IfIf rs.State = 1 Thenrs.Requery 1frmpaciente.PreencheEnd IfIf rs.State <> 1 Thenrs.Open "select * from paciente order by pacnome", cnnclinicars.Requery 1frmpaciente.PreencheEnd IfUnload MeEnd Sub----------------------------Public Sub enche_combo()cbocidades.ClearDo Until arqtemp.EOFcbocidades.AddItem arqtemp("munnome") & " - " & arqtemp("munuf") & " - " & arqtemp("muncod")cbocidades.ItemData(cbocidades.NewIndex) = arqtemp("muncod")arqtemp.MoveNextLooparqtemp.Closecbocidades.ListIndex = 0End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se o .ListIndex = -1 de um combobox ou listbox é pq nada foi selecionado, neste caso precisa fazer um If p/ saber se o usuário selecionou:

If ComboBox.ListIndex >=0 Then Variavel = ComboBox.ItemData(ComboBox.ListIndex)End If

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.