COMO GRAVAR UM LIST EM ACCESS
ola tenho um list que recera n valores dentro dele e gostaria de gravalos em acces aguem poderia me ajudar ?
na Lógica:
Poderia gravá-los separando-os por algum delimitador tipo # e recuperando um por um usando a função split !!
Espero que te ajude !!
Abraços !!
Poderia gravá-los separando-os por algum delimitador tipo # e recuperando um por um usando a função split !!
Espero que te ajude !!
Abraços !!
na Lógica:
Poderia gravá-los separando-os por algum delimitador tipo # e recuperando um por um usando a função split !!
Espero que te ajude !!
Abraços !!
Poderia gravá-los separando-os por algum delimitador tipo # e recuperando um por um usando a função split !!
Espero que te ajude !!
Abraços !!
Vc precisa praticamente de um programa inteiro e espero que seja VB 6.0 e que o arquivo Access já exista, pois senão nem continue lendo...
Primeiramente faça referência a biblioteca : Microsoft ActiveX Data Object's 2.X (0nde X é o maior número disponÃvel da listagem)
How To:
No Vb6.0 escolha Menu/Project/References então selecione o item descrito acima
Precisaremos de um botão que se chamará "Command1" no formulário para iniciar o exemplo funcionar, depois vc pode adaptar à  s suas necessidades.
Fora isto também será necessário que substitua List1 pelo nome de sua List
Observação 1:
Não existe um comando VB do tipo ... Access, pega meu list e joga inteiro na tabela tal, vai precisar Loopar mesmo.
Observação 2:
Existe outras formas de realizar a tarefa com data control, são mais fáceis inclusive, mas menos eficientes e nada profissionais ... vale a pena aprender este método que é o mais eficiente.
Primeiramente faça referência a biblioteca : Microsoft ActiveX Data Object's 2.X (0nde X é o maior número disponÃvel da listagem)
How To:
No Vb6.0 escolha Menu/Project/References então selecione o item descrito acima
Precisaremos de um botão que se chamará "Command1" no formulário para iniciar o exemplo funcionar, depois vc pode adaptar à  s suas necessidades.
Fora isto também será necessário que substitua List1 pelo nome de sua List
Private Sub Command1_Click()
'Reservamos espaço na memória para as variáveis da rotina ( ou Dimencionamos "Dim")
Dim x As Integer
Dim strDB As String
Dim strConn As String
Dim strSQL As String
Dim objCNN As ADODB.Connection
'Informe o local exato do seu arquivo .mdb entre as aspas, abaixo um exemplo
strDB = "C:\Minha aplicação\Dados\arquivo_access.mdb"
'Aqui é padrão, deixa assim mesmo ... caprixa na linha de cima !!!
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDB & ";Persist Security Info=False"
'Efetivamente criamos na memória do computador um objeto que tinhamos reservado espaço
Set objCNN = New ADODB.Connection
'Abrimos o banco de dados, agora podemos manusear informações dele...
objCNN.Open strConn
'Loop que percorre o list e inclue item a item no Access
'Como o primeiro item do list tem listindex 0 o último é listcount-1
For x = 0 To List1.ListCount - 1
'Informamos a linha para cada loop
List1.ListIndex = x
'Criamos uma instrução em linguagem SQL que execute a tarefa (Vai precisar aprender isto na sua vida)
strSQL = "INSERT INTO nome_tabela(campo_tabela)VALUES('" & List1.Text & "')"
'Solicitamos ao objeto connection que execute o comando SQL acima
objCNN.Execute strSQL, , adExecuteNoRecords
'neste momento x agrega +1 automático (x=x+1)
Next
'Fechamos a conexão
objCNN.Close
'ExcluÃmos da memória aquele objeto criado anteriormente
'A linguagem VB tem este problema só com estes tipos de variáveis
Set objCNN = Nothing
End Sub
Observação 1:
Não existe um comando VB do tipo ... Access, pega meu list e joga inteiro na tabela tal, vai precisar Loopar mesmo.
Observação 2:
Existe outras formas de realizar a tarefa com data control, são mais fáceis inclusive, mas menos eficientes e nada profissionais ... vale a pena aprender este método que é o mais eficiente.
Amigo, de uma olhadinha no exemplo em anexo atraves dos dados que disse acima ... com certeza vai te ajudar, está muito bem explicadinho !!
Espero que te ajude !!
Abraços !!
Espero que te ajude !!
Abraços !!
Tópico encerrado , respostas não são mais permitidas