COPIA DO REGISTROS MAIS Só O 1º REG DE CADA.

 Tópico anterior Próximo tópico Novo tópico

COPIA DO REGISTROS MAIS Só O 1º REG DE CADA.

VB / VBA

 Compartilhe  Compartilhe  Compartilhe
#497530 - 15/07/2021 16:57:11

EDSON PEREIRA
SAO PAULO
Cadast. em:Janeiro/2004


Boa tarde!...
Eu tenho uma tabela de m/n 50.000 registro
NRD_COD |  NRD_DAT....
1                 |  15/07/2021..
1                 |  15/07/2021..
1                 |  15/07/2021..
2                 |  15/07/2021..
2                 |  15/07/2021..
3                 |  15/07/2021..
...
...
Queria pega so o primeiro registro e salva em outra tabela
modelo
NRD_COD |  NRD_DAT....
1                 |  15/07/2021..
2                 |  15/07/2021..
3                 |  15/07/2021..
meu exemplo mais não deu certo:

    Set bcoConsulta = CreateObject('ADODB.Recordset') 'Conjunto de registros
    Set bcoConsulta = cnSQL.Execute('SELECT Distinct (NRD_COD), NRD_LOJ, NRD_DAT, NRD_USU, DataBaixa, UsuarioBaixa, EstadoBaixa FROM [NRD] ORDER BY NRD_COD ASC')
        While (bcoConsulta.EOF = False) And (bcoConsulta.BOF = False) 'NRD
            DoEvents
                If (bcoConsulta.EOF = False) And (bcoConsulta.BOF = False) Then
                    SalvoSim = (SalvoSim + 1)
                    Me.txtSimSalvo.Text = SalvoSim & ' '
                    Me.txtDocumento.Text = bcoConsulta.Fields('NRD_DAT').Value
                    Dim sqlSalvar As String
                    Set bcoCliente = CreateObject('ADODB.Recordset') 'Conjunto de registros
                        sqlSalvar = 'Insert Into [NRD_RELATORIO] '
                        sqlSalvar = sqlSalvar & '(NRD_COD, NRD_LOJ, NRD_DAT, NRD_USU, DataBaixa, UsuarioBaixa, EstadoBaixa ) VALUES '
                        sqlSalvar = sqlSalvar & '('' & bcoConsulta.Fields('NRD_COD').Value & '''
                        sqlSalvar = sqlSalvar & ','' & bcoConsulta.Fields('NRD_LOJ').Value & '''
                        sqlSalvar = sqlSalvar & ','' & bcoConsulta.Fields('NRD_DAT').Value & '''
                        sqlSalvar = sqlSalvar & ','' & bcoConsulta.Fields('NRD_USU').Value & '''
                        sqlSalvar = sqlSalvar & ','' & bcoConsulta.Fields('DataBaixa').Value & '''
                        sqlSalvar = sqlSalvar & ','' & bcoConsulta.Fields('UsuarioBaixa').Value & '''
                        sqlSalvar = sqlSalvar & ','' & bcoConsulta.Fields('EstadoBaixa').Value & '')'
                    Set bcoCliente = cnSQL.Execute(sqlSalvar)
                    Set bcoCliente = Nothing
                End If
            TotalSalvo = (TotalSalvo + 1)
            Me.txtTotalSalvo = TotalSalvo & ' '
            bcoConsulta.MoveNext
        Wend
    
    If Not bcoConsulta Is Nothing Then
        If bcoConsulta.State = adStateOpen Then bcoConsulta.Close
    End If
    Set bcoConsulta = Nothing




Resposta escolhida #497531 - 15/07/2021 18:27:26

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe

Última edição em 15/07/2021 18:29:16 por KERPLUNK

Primeiro de tudo 'mas' e não 'mais'.
Vamos lá:
Você não precisa percorrer, você pode simplesmente agrupar pelo campo 'NRD_COD' e inserir direto:

INSERT INTO NRD_RELATORIO (NRD_COD, NRD_LOJ, NRD_DAT, NRD_USU, DataBaixa, UsuarioBaixa, EstadoBaixa) SELECT NRD_COD, NRD_LOJ, NRD_DAT, NRD_USU, DataBaixa, UsuarioBaixa, EstadoBaixa GROUP BY NRD_COD, NRD_LOJ, NRD_DAT, NRD_USU, DataBaixa, UsuarioBaixa, EstadoBaixa


Mais ou menos assim, vai depender dos dados, se NRD_COD for o único campo que realmente é diferente no registro, vai funcionar certinho, senão, vai  aparecer a diferença.


_______________________________________________________________________
Virei Orculo!
The end is nigh, be ready for the nukes!


#497532 - 15/07/2021 22:04:59

EDSON PEREIRA
SAO PAULO
Cadast. em:Janeiro/2004


KERPLUNK, deu certo obrigado

Só tinha um error no codigo faltou
...EstadoBaixa FROM [NRD] GROUP BY NRD.....

obs. Alguns deu duplicada, ai vi o que tinha datas diferentes.



 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por EDSON PEREIRA em 15/07/2021 22:12:11