LISTOBOX SALVAR ITENS EM BD

FERRAZ 12/08/2010 16:48:58
#350102
Tarde amigos do VbMania, estou tentando gravar em um BD itens de um listbox e itens de alguns campos no formulario, quanto aos itens do form sem problemas, agora os itens do listbox ele nao grava todo o conteudo, estou usando este codigo aqui:

With cmd
Dim i As Integer

For i = 0 To LstVdas.ListCount - 1 [txt-color=#e80000][ô]onde estou errando[/txt-color]

.ActiveConnection = Conexão
.CommandType = adCmdText
.CommandText = [Ô]insert into Pedidos [Ô] & _
[Ô](CodRegistro,Msa,DtaMsa,CodAtend,NomeAtend,ProdMsa,ValorMsa,Obs) Values ([ô][Ô] & TxtCodReg & [Ô][ô], [ô][Ô] & TxtMsa & [Ô][ô], [ô][Ô] & TxtDta & [Ô][ô], [ô][Ô] & TxtCodAtend & [Ô][ô], [ô][Ô] & CboAtend & [Ô][ô], [ô][Ô] & LstVdas.List(i) & vbTab & [Ô][ô], [ô][Ô] & TxtTlMsa & [Ô][ô], [ô][Ô] & TxtObs & [Ô][ô])[Ô]

Next i

.Execute

End With



Amigos desde ja agradeco a todos pela atencao, valeu.
MSMJUDAS 12/08/2010 17:23:59
#350108
Qual erro que aparece?
JONATHANSTECKER 12/08/2010 17:29:25
#350110
Tente colocar o comando Execute dentro do For

With cmd
Dim i As Integer

For i = 0 To LstVdas.ListCount - 1 [ô]onde estou errando

.ActiveConnection = Conexão
.CommandType = adCmdText
.CommandText = [Ô]insert into Pedidos [Ô] & _
[Ô](CodRegistro,Msa,DtaMsa,CodAtend,NomeAtend,ProdMsa,ValorMsa,Obs) Values ([ô][Ô] & TxtCodReg & [Ô][ô], [ô][Ô] & TxtMsa & [Ô][ô], [ô][Ô] & TxtDta & [Ô][ô], [ô][Ô] & TxtCodAtend & [Ô][ô], [ô][Ô] & CboAtend & [Ô][ô], [ô][Ô] & LstVdas.List(i) & vbTab & [Ô][ô], [ô][Ô] & TxtTlMsa & [Ô][ô], [ô][Ô] & TxtObs & [Ô][ô])[Ô]

[txt-color=#e80000].Execute[/txt-color]

Next i

End With
FERRAZ 12/08/2010 17:30:42
#350111
Na verdade nao ocorre erro nenhum, o problema eh que nao grava todos os itens do listbox, apenas um item e nao sei o porque.

Valeu, MSMJUDAS
FERRAZ 12/08/2010 17:33:44
#350112
Vou tentar.

Valeu, JONATHANSTECKER e depois eu falo o como ficou.
FERRAZ 12/08/2010 18:55:41
#350119
JONATHANSTECKER, fiz a alteracao, mais nao fica legal, pois colocando o execute dentro do for ele vai tentar gravar os registro em duplicitade e como eu nao permitir isso no banco, ele vai gravar uma unica vez, mais ira dar um erro em tempo de execucao colega, vc tem outra ideia ? pois mesmo assim ele so pega o ultimo item do listbox.

With cmd
Dim i As Integer

For i = 0 To LstVdas.ListCount - 1
.ActiveConnection = Conexão
.CommandType = adCmdText
.CommandText = [Ô]insert into Pedidos [Ô] & _
[Ô](CodRegistro,Msa,DtaMsa,CodAtend,ProdMsa,NomeAtend,ValorMsa,Obs) Values ([ô][Ô] & TxtCodReg & [Ô][ô], [ô][Ô] & TxtMsa & [Ô][ô], [ô][Ô] & TxtDta & [Ô][ô], [ô][Ô] & TxtCodAtend & [Ô][ô], [ô][Ô] & CboAtend & [Ô][ô], [ô][Ô] & LstVdas.List(i) & vbTab & [Ô][ô], [ô][Ô] & TxtTlMsa & [Ô][ô], [ô][Ô] & TxtObs & [Ô][ô])[Ô]

.Execute
Next i

End With

Vou continuar tentando, valeu
MARCELO.TREZE 12/08/2010 19:43:00
#350123
Resposta escolhida
Feraaz qual o conteudo do listbox, vc pretende salvar este conteudo em um unico campo?

pois vc teria de criar uma unica string e salvar no campo especifico

ou seja assim

With cmd
Dim i As Integer
Dim CampoList As String
For i = 0 To LstVdas.ListCount - 1
If i < LstVdas.ListCount - 1 Then
CampoList = CampoList & LstVdas.List(i) & vbTab
Else
CampoList = CampoList & LstVdas.List(i)
End If
Next i

.ActiveConnection = Conexão
.CommandType = adCmdText
.CommandText = [Ô]insert into Pedidos [Ô] & _
[Ô](CodRegistro,Msa,DtaMsa,CodAtend,NomeAtend,ProdMsa,ValorMsa,Obs) Values ([ô][Ô] & TxtCodReg & [Ô][ô], [ô][Ô] & TxtMsa & [Ô][ô], [ô][Ô] & TxtDta & [Ô][ô], [ô][Ô] & TxtCodAtend & [Ô][ô], [ô][Ô] & CboAtend & [Ô][ô], [ô][Ô] & CampoList & [Ô][ô], [ô][Ô] & TxtTlMsa & [Ô][ô], [ô][Ô] & TxtObs & [Ô][ô])[Ô]
.Execute

End With


Tenta ai

FERRAZ 12/08/2010 19:53:31
#350125
Marcelo noite, tudo bem, sim em um unico campo.

Vou tentar e ja respondo, vamos la.
FERRAZ 12/08/2010 20:02:50
#350127
Marcelo meu amigo, valeu ficou excelente.

Valeu a todos, VbMania.
Tópico encerrado , respostas não são mais permitidas