-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------No entanto a planilha que preciso importar contém dados em várias linhas para um mesmo cliente, a saber:
Cabeçalho
Nome cliente(A1) CodCli (B1) valor_a(C1) valor_b(D1) valor_c(E1) valor_d(F1) totalgeral(G1)
Pergunta
namon
Para importar uma planilha excel para MDB via código, posso utilizar o código abaixo:
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Private Sub cmdexecuta_Click()
Dim rsdados As Recordset
Dim x As Object
Dim linha As Integer
Dim strvalor_A As String, strvalor_B As Integer, strvalor_C As String
Set x = CreateObject("Excel.Application.8") 'para o office 97/2000
x.Workbooks.Open(App.Path & "\Clientes.xls"
x.Sheets("Clientes").Select
x.Visible = False
For linha = 2 To 10 '65536 e o valor maximo
strvalor_A = x.rows(linha).cells(1).Value 'campo1
strvalor_B = x.rows(linha).cells(2).Value 'campo2
strvalor_C = x.rows(linha).cells(3).Value 'campo3
If strvalor_A = "FLAG" Then
Exit For
Else
sSQl = "INSERT INTO TabelaClientes (campo1 ,campo2 , campo3 )"
sSQl = sSQl & " VALUES ( '" & strvalor_A & "', '" & strvalor_B & "' ,'" & strvalor_C & "' ) "
Set rsdados = db.Execute(sSQl)
End If
Next
x.ActiveWorkbook.Close
x.quit
'Abro um modulo colocando o seguinte codigo
Option Explicit
Public db As ADODB.Connection
Sub AbreBanco()
Dim sPath As String
Set db = New ADODB.Connection
sPath = App.Path & "\dados.mdb"
db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sPath
End Sub
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------No entanto a planilha que preciso importar contém dados em várias linhas para um mesmo cliente, a saber:
Cabeçalho
Nome cliente(A1) CodCli (B1) valor_a(C1) valor_b(D1) valor_c(E1) valor_d(F1) totalgeral(G1)
cliente1 (A2) 100005(B2) 0,00(C2) 0,00(D2) 1200,00(E2) 0,00(F2) 1442,00(G2)
cliente1 (A3) 100005(B3) 0,00(C3) 0,00(D3) 0,00(E3) 0,00(F3) 0,00(G3)
cliente1 (A4) 100005(B4) 70,00(C4) 0,00(D4) 0,00(E4) 0,00(F4) 0,00(G4)
cliente1 (A5) 100005(B5) 0,00(C5) 52,00(D5) 0,00(E5) 0,00(F5) 0,00(G5)
cliente1 (A6) 100005(B6) 0,00(C6) 0,00(D6) 0,00(E6) 120,00(F6) 0,00(G6)
cliente2 (A7) 190032(B7) 0,00(C7) 97,70(D7) 0,00(E7) 0,00(F7) 487,70(G7)
cliente2 (A8) 190032(B8) 315,00(C8) 0,00(D8) 0,00(E8) 0,00(F8) 0,00(G8)
cliente2 (A9) 190032(B9) 0,00(C9) 0,00(D9) 0,00(E9) 75,00(F9) 0,00(G9)
cliente3(A10)... e assim sucessivamente
8-> A soma de todos os valores de cada cliente fica somente na Célua G(x), primeira linha de cada cliente
-> a quantidade de cada cliente varia conforme os valores que possui em carteira, no máximo de 5 linhas/cliente
No exemplo acima: o cliente1 possui 5 linhas; já o cliente2 possui 3 linhas apenas
Preciso que a rotina importe uma linha para cada cliente, somando TODOS os valores por cliente:
cliente1 (A2) 100005(B2) 70,00(C2) 52,00(D2) 1200,00(E2) 120,00(F2) 1442,00(G2)
cliente2 (A7) 190032(B7) 315,00(C7) 97,70(D7) 0,00(E7) 75,00(F7) 487,70(G7)
É possível via código no VB6??
Quanto à tabela do MDB no VB6, chama-se CredDeb com a seguinte estrutura:
Tabela: CredDeb
Indices: Cod_cliente - Primário
Nome_cliente
Campos: Cod_cliente Texto/8
Nome_cliente Texto/70
Credito1 Dupla/10
Credito2 Dupla/10
Credito3 Dupla/10
Credito3 Dupla/10
Credito4 Dupla/10
Credito5 Dupla/10
Cregeral Dupla/10
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.