MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


3 participantes

    Copiar dados de uma tabela (ACCESS) para uma tabela no MYSQL (Nuvem)

    avatar
    Gabriel_rs
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3
    Registrado : 31/01/2018

    Copiar dados de uma tabela (ACCESS) para uma tabela no MYSQL (Nuvem) Empty Copiar dados de uma tabela (ACCESS) para uma tabela no MYSQL (Nuvem)

    Mensagem  Gabriel_rs 22/4/2022, 21:31

    Olá pessoal, tudo bem? Esse fórum é nota 10!

    Eu tenho uma dúvida, estou criando um banco no access, que atualiza algumas informações para o mysql. Porém existe um cenário que preciso atualizar uma tabela inteira do mysql com as informações da tabela do access.

    Como fazer isso da forma mais rápida? Atualmente estou usando um "AddNew", linha a linha e tudo bem porque minha tabela tem 110 registros, mas e se ela tiver mais? ai vai levar uma década rs Alguem tem alguma solução?

    Sei que se fosse só access eu usaria o INSERT INTO, mas sendo bem sincero não tenho ideia como fazer isso com uma conexão em mysql.

    Abaixo meu código usado hoje.

    Código:

    '------------------------------------------------
    '---------------- TABELA DADOS_TECNICO ----------------
    '------------------------------------------------



    Sub Enviar_cotação()

    Dim rs2 As New ADODB.Recordset
    On Error GoTo Trataerro


    Set rs1 = CurrentDb.OpenRecordset("SELECT * FROM Cotação")
    rs.Open "select * from Nuvem_Cotação", conexao, adOpenStatic, adLockPessimistic
    rs2.Open "select * from Nuvem_Histórico_Cotação", conexao, adOpenStatic, adLockPessimistic
    CurrentDb.OpenRecordset "INSERT INTO [COTAÇÃO] select * from Nuvem_Cotação", conexao, adOpenStatic, adLockPessimistic
    While Not rs1.EOF
    If IsNull(rs!Codigo_Unico) Then
    GoTo pula
    End If
    rs.AddNew
    rs!Codigo_Unico = rs1![Código_Unico]
    pula:
    rs!Coeficiente = rs1![Coeficiente]
    rs![Moeda] = rs1![Moeda]
    rs![Valor] = rs1![Valor]
    rs![Valor_Cliente] = rs1![Valor] * rs1![Coeficiente]
    rs![Data] = Date
    rs![Usuario] = DLookup("[usuário]", "logado", "[código]='" & 1 & "'")
    rs![Tipo] = rs1![Tipo]
    rs![valor_frete_aereo] = rs1![valor_frete_aereo]
    rs![Versao_Cotacao] = rs1![Versão_Cotação] + 1
    rs.Update

    rs2.AddNew
    If Not IsNull(rs2!Codigo_Unico) Then
    End If
    rs2!Coeficiente = rs1![Coeficiente]
    rs2![Moeda] = rs1![Moeda]
    rs2![Valor] = rs1![Valor]
    rs2![Valor_Cliente] = rs1![Valor_Cliente]
    rs2![Data] = Date
    rs2![Usuario] = DLookup("[usuário]", "logado", "[código]='" & 1 & "'")
    rs2![Tipo] = rs1![Tipo]
    rs2![valor_frete_aereo] = rs1![valor_frete_aereo]
    rs2![Versao_Cotacao] = rs1![Versão_Cotação] + 1
    rs2.Update



    rs1.MoveNext
    Wend

    'TRATAR ERRO DE CONEXÃO
    Trataerro:
    MsgBox (Err.Description)
    If Err.Number = -2147467259 Or Err.Number = 3709 Or Err.Number = -2147217887 Then
    Conecta True
    Resume
    End If
    End Sub

    Gabriel_rs gosta desta mensagem

    Eloirp
    Eloirp
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 222
    Registrado : 15/06/2013

    Copiar dados de uma tabela (ACCESS) para uma tabela no MYSQL (Nuvem) Empty Re: Copiar dados de uma tabela (ACCESS) para uma tabela no MYSQL (Nuvem)

    Mensagem  Eloirp 4/5/2022, 21:49

    Olá Amigo,

    Veja se ajuda...
    è cópia do meu código sem ajustes....

    Código:

                Dim strSqlUp As String
                Dim strIndPag
                
                strRS = "SELECT * FROM Ide "
                Set DB = CurrentDb
                Set rs = DB.OpenRecordset(strRS)
                            
                If Not rs.BOF Then
            
                    strRS2 = "SELECT ide_nNF FROM Start_NFE WHERE Filial='" & Forms!Main_Menu!txtFilialNum & "' AND ide_nNF='" & Me.NFe & "' AND ide_serie=" & Me.NFeSerie & " "
                    Call Cnn_Open
                    Set Rs2 = cnn.Execute(strRS2)
                        
                    If Not Rs2.BOF Then
                        strActionSave = "001"
                        MsgBox "   NFe " & Me.NFe & " já cadastrada no sistema!   ", vbInformation + vbOKOnly, "SieWeb"
                        Me.bt_excluir.Enabled = True
                        Exit Sub
                    Else
                        strIndPag = rs!indPag
                        If IsNull(strIndPag) Then strIndPag = 0
                        
                        cnn.Execute "INSERT INTO Start_NFE (Filial,ide_cUF,ide_cNF,ide_natOp,ide_indPag,ide_mod,ide_serie,ide_nNF,ide_dhEmi,ide_DtaEmis,ide_HrEmis,ide_tpNF,ide_idDest,ide_cMunFG,ide_tpImp,ide_tpEmis,ide_cDV,ide_tpAmb,ide_finNFe,ide_indFinal,ide_indPres,ide_verProc,PedidoVda,NFe,Data,User,Status) " & _
                                        "VALUES ('" & Forms!Main_Menu!txtFilialNum & "'," & rs!cUF & "," & rs!cNF & ",'" & rs!natOp & "'," & strIndPag & "," & rs!Mod & "," & rs!serie & ",'" & rs!nNF & "','" & rs!dhEmi & "','" & Format(Me.DataNF, "YYYY-MM-DD") & "','" & Format(Me.HoraNf, "00:00:00") & "'," & rs!tpNF & "," & rs!idDest & ",'" & rs!cMunFG & "'," & rs!tpImp & "," & rs!tpEmis & "," & rs!cDV & "," & rs!tpAmb & "," & rs!FinNFe & "," & rs!indFinal & "," & rs!indPres & ",'" & rs!verProc & "'," & Nz(Me.Pedido, 0) & "," & Me.NFe & ",'" & Now() & "','" & getUsuarioAtual() & "','ATIVO') "
                        strActionSave = "002"
                    End If
                                
                    Set Rs2 = Nothing: Close
                        
                End If
            
                Set rs = Nothing: Close
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3217
    Registrado : 13/12/2016

    Copiar dados de uma tabela (ACCESS) para uma tabela no MYSQL (Nuvem) Empty Re: Copiar dados de uma tabela (ACCESS) para uma tabela no MYSQL (Nuvem)

    Mensagem  Alexandre Fim 5/5/2022, 00:41

    Olá Gabriel,

    Para que tenha um pouco mais de desempenho no processamento, seria mais viável utilizar Stored Procedures.
    O servidor onde está hospedado seu banco de dados é compartilhado ou dedicado?

    Compartilha aqui a tabela com seus respectivos campos, tipo e tamanho.
    Vc utiliza algum gerenciador de banco de dados? 
     - phpMyAdmin?
     - MySQL Workbench?

    Qualquer um desses acima consegue gerar um script de CREATE da tabela, pois assim consigo ver o nome, tipo e tamanho das colunas e também consigo elaborar uma procedure para vc utilizar.

    Ex. phpMyAdmin:
    Copiar dados de uma tabela (ACCESS) para uma tabela no MYSQL (Nuvem) Tab_my10


    É isso

    Att,

    FIM


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    Copiar dados de uma tabela (ACCESS) para uma tabela no MYSQL (Nuvem) Setinf11
    Sistemas e Tecnologia Ltda

    Conteúdo patrocinado


    Copiar dados de uma tabela (ACCESS) para uma tabela no MYSQL (Nuvem) Empty Re: Copiar dados de uma tabela (ACCESS) para uma tabela no MYSQL (Nuvem)

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 29/4/2024, 05:25