COMO GRAVAR UM LIST EM ACCESS

USUARIO.EXCLUIDOS 10/12/2006 01:58:51
#189081
ola tenho um list que recera n valores dentro dele e gostaria de gravalos em acces aguem poderia me ajudar ?

ESLEYSANCHES 10/12/2006 02:52:26
#189085
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 !!
ESLEYSANCHES 10/12/2006 02:52:31
#189086
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 !!
USUARIO.EXCLUIDOS 10/12/2006 02:57:06
#189087
Resposta escolhida
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

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.
ESLEYSANCHES 10/12/2006 03:08:59
#189088
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 !!
Tópico encerrado , respostas não são mais permitidas