EXCEL PARA ACCESS 2000 COM VB6 URGENTE
estou criando um programa para migrar varios arquivos do excel pelo VB mais o mesmo ao ser executado so estou conseguindo os dados de Texto mais o numero e data não esta sendo exibido.
como vc está importando esses dados?
o erro esta dando no campo aniversario
Private Sub CmdProcessar_Click()
Dim gnumero As String
If List1.ListCount > 0 Then
ProgressBar1.Min = 0
ProgressBar1.Max = List1.ListCount - 1
For a = 0 To List1.ListCount - 1
'cria uma conexão ADO
Set oConn = New ADODB.Connection
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Dir1.Path & "\" & List1.List(a) & ";" & _
"Extended Properties=""Excel 8.0;HDR=no;"";"
' cria o objecto command e define a conexao ativa
Set oCmd = New ADODB.Command
oCmd.ActiveConnection = oConn
' abre a planilha
oCmd.CommandText = "select * from [FCadastro Clientes$]"
' cria o recordset com os dados
Set ors = New ADODB.Recordset
ors.Open oCmd, , adOpenKeyset, adLockOptimistic
With ors
sq = "Select * from Tabela1 where numero='" & ors(4) & "'"
dyn.Open sq, meubd, adOpenDynamic, adLockPessimistic
If dyn.EOF Then
dyn.AddNew
b = 1
gserv = 9999
While Not ors.EOF
If b = 2 Then
dyn!numero = ors(4)
gnumero = ors(4)
ElseIf b = 3 Then
dyn!nome2 = ors(1)
ElseIf b = 4 Then
dyn!endereco = ors(1)
ElseIf b = 5 Then
dyn!cep = ors(1)
ElseIf b = 6 Then
dyn!telefone = ors(1)
dyn!termo = ors(3)
ElseIf b = 7 Then
dyn!aniversario = ors(1)
dyn!espelho = ors(3)
ElseIf b = 8 Then
dyn!profissao = ors(1)
ElseIf b = 9 Then
dyn!indicacao = ors(1)
dyn!obs = ors(3)
ElseIf b = 10 Then
dyn!email = ors(1)
ElseIf b = 11 Then
dyn!documento = ors(1)
End If
If Trim(ors(0)) = "DATA" Then
gserv = b + 1
c = 1
End If
If b > gserv Then
sq = "Select * from Tabela2 where numero='" & gnumero & "'"
dyn1.Open sq, meubd, adOpenDynamic, adLockPessimistic
' If dyn1.EOF Then
If ors(1) <> "" Then
dyn1.AddNew
dyn1!numero = gnumero
dyn1!Item = Val(c)
dyn1!Data = Trim(ors(0))
dyn1!servicos = ors(1)
dyn1!profissional = ors(2)
dyn1!recepcionista = ors(3)
dyn1!pontos = Trim(ors(4))
dyn1!obs = Trim(ors(5))
dyn1.Update
End If
' End If
c = c + 1
dyn1.Close
End If
If b > 70 Then
sq = "Select * from Tabela3 where numero='" & gnumero & "' "
dyn2.Open sq, meubd, adOpenDynamic, adLockPessimistic
' If dyn2.EOF Then
If ors(1) <> "" Then
dyn2.AddNew
dyn2!numero = gnumero
dyn2!obs1 = Trim(ors(0))
dyn2!obs2 = Trim(ors(1))
dyn2.Update
End If
' End If
dyn2.Close
End If
b = b + 1
ors.MoveNext
Wend
dyn.Update
End If
dyn.Close
End With
ProgressBar1.Value = a
Next
End If
End Sub
o engraçado que quando digito nova informação em outro local tipo data e numero ele reconhece normalmente.
então como faço para colocar uma formula na celula h7 que apanhe o conteudo da celula b7.
então como faço para colocar uma formula na celula h7 que apanhe o conteudo da celula b7.
Não entendi essa última colocação...
Se já está reconhecido, vc pode fazer assim:
Para fazer cálculo com a B7 (claro que vc pode usar o que quiser, isto é só um exemplo):
Sua_Plan.Range("H7").Formula = "=B7 * 3"
Para ter o conteúdo de B7 em H7:
Sua_Plan.Range("H7") = Sua_Plan.Range("B7")
é isso ??? Como disse, não entendi a questão, então se não for, dá uma clareada, vlw ???
Abraço
T+
Se já está reconhecido, vc pode fazer assim:
Para fazer cálculo com a B7 (claro que vc pode usar o que quiser, isto é só um exemplo):
Sua_Plan.Range("H7").Formula = "=B7 * 3"
Para ter o conteúdo de B7 em H7:
Sua_Plan.Range("H7") = Sua_Plan.Range("B7")
é isso ??? Como disse, não entendi a questão, então se não for, dá uma clareada, vlw ???
Abraço
T+
caro companheiro de forum.
como expliquei a cima não estou conseguindo migrar determinado conteudo de umas tabelas que tem data de nascimento, data e pontos o conteudo que e apresentado e nulo.
mais ao digitar data e valores na planilha e salvar os mesmo são apresentados normalmente e tambem quando crio uma formula na planilha endereçada a celula que o valor e nulo ao migrar o valor e migrado normalmente.
então o pretendo fazer criar uma formula automaticamente no processo enderecado as celulas nulas para migração.
então a pergunta e como crio a formula automaticamente no programa.
usei este procedimento mais não funcionou
ors(1).value = "=b7"
quando abri a lanilha o valor gravado e texto e não uma formula.
como expliquei a cima não estou conseguindo migrar determinado conteudo de umas tabelas que tem data de nascimento, data e pontos o conteudo que e apresentado e nulo.
mais ao digitar data e valores na planilha e salvar os mesmo são apresentados normalmente e tambem quando crio uma formula na planilha endereçada a celula que o valor e nulo ao migrar o valor e migrado normalmente.
então o pretendo fazer criar uma formula automaticamente no processo enderecado as celulas nulas para migração.
então a pergunta e como crio a formula automaticamente no programa.
usei este procedimento mais não funcionou
ors(1).value = "=b7"
quando abri a lanilha o valor gravado e texto e não uma formula.
Tópico encerrado , respostas não são mais permitidas