Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ellencardozo35

Access

Recommended Posts

Boa tarde!

Tenho a seguinte situação, tenho uma planilha gigantesca no excel, e a mesma foi importada/vinculada para o access. a mesma só poderá ser alterada via excel; Esta planilha mostra todas as licitações que meus distribuidoras participaram, independente se ganharam ou não;

Fiz uma CONSULTA onde mostra todos os processos desta planilha, dos quais temos como resutado: "VENCEMOS VIA DISTRIBUIDOR";

Criei também um banco de dados com o nome de Processos Vencidos, com a finalidade de armazenar as informações da categoria de "VENCEMOS VIA DISTRIBUIDOR".

Esta tabela está em branco, por que quero fazer com que o proprio access, salve ou me de a opção de salvar ou não, estas informações da "CONSULTA", na tabela já criada;

Tem como fazer isso? Como?

 

Agradeço antecipadamente,

 

Elen

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Ellen,

 

Você pode criar uma rotina de inclusão de informações; abaixo segue um bem simples, basta apenas que exista algum campo - IdProcessso, por exemplo -, que seja único e que possa ser utilizado como uma chave primária.

 

Então... A rotina abaixo pode ser "chamada" por um comando, ou na abertura/fechamento de um form, ou cronômetro, ... Basta chamá-la...

 

Public Const C_Title  As String = "Nome do Seu Sistema" 'Constante com o nome do sistema

Sub C_MsgErr()

strMsg = MsgBox("Erro número: " & Err.Number & vbLf & vbLf & Err.Description, vbCritical, C_Title)

End Sub

Sub modProcessos(Usuario As String) 'O parâmetro 'Usuario' é opcional, apenas sugestão para controle
Dim SQL As String

On Error GoTo Err_Process

If MsgBox("Deseja atualizar as informações de processos?", vbQuestion + vbYesNo, C_Title) = vbYes Then

'Rotina que irá verificar o status 'VENCEMOS VIA DISTRIBUIDOR' e acresentá-lo à tabela
DoCmd.SetWarnings False 'Aviso de execução de query
SQL = "INSERT INTO tblDeDestino ( IdProcesso, Campo1, Campo2, Status, Usuario ) SELECT tblDeOrigem.IdProcesso, tblDeOrigem.Campo1, " & _
"tblDeOrigem.Campo2, tblDeOrigem.Status, tblDeOrigem.Usuario FROM tblDeOrigem WHERE tblDeOrigem.Status='VENCEMOS VIA DISTRIBUIDOR'"
DoCmd.RunSQL SQL 'Execução da query acima

MsgBox "Processo finalizado com sucesso!", vbInformation, C_Title 'Finalização do processo

Else

Exit Sub

End If


Exit_Process:
Exit Sub

Err_Process:
C_MsgErr

Resume Exit_Process

End Sub[/Code]

 

Para chamá-la, basta utilizar...

 

[Code]Private Sub processCommand_Click()

Call modProcessos(usuarioText)

End Sub[/Code]

 

 

 

 

Sem mais,

 

Julien Sorel

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde!

Julien, quando vi a sua resposta eu já tinha conseguido fazer esta parte do projeto! Fiz uma consulta append. Ela inseriu os dados no mdb.

 

Obrigada pelo retorno!

 

Elen

 

 

 

Olá Ellen,

 

Você pode criar uma rotina de inclusão de informações; abaixo segue um bem simples, basta apenas que exista algum campo - IdProcessso, por exemplo -, que seja único e que possa ser utilizado como uma chave primária.

 

Então... A rotina abaixo pode ser "chamada" por um comando, ou na abertura/fechamento de um form, ou cronômetro, ... Basta chamá-la...

 

Public Const C_Title  As String = "Nome do Seu Sistema" 'Constante com o nome do sistema

Sub C_MsgErr()

strMsg = MsgBox("Erro número: " & Err.Number & vbLf & vbLf & Err.Description, vbCritical, C_Title)

End Sub

Sub modProcessos(Usuario As String) 'O parâmetro 'Usuario' é opcional, apenas sugestão para controle
Dim SQL As String

On Error GoTo Err_Process

If MsgBox("Deseja atualizar as informações de processos?", vbQuestion + vbYesNo, C_Title) = vbYes Then

'Rotina que irá verificar o status 'VENCEMOS VIA DISTRIBUIDOR' e acresentá-lo à tabela
DoCmd.SetWarnings False 'Aviso de execução de query
SQL = "INSERT INTO tblDeDestino ( IdProcesso, Campo1, Campo2, Status, Usuario ) SELECT tblDeOrigem.IdProcesso, tblDeOrigem.Campo1, " & _
"tblDeOrigem.Campo2, tblDeOrigem.Status, tblDeOrigem.Usuario FROM tblDeOrigem WHERE tblDeOrigem.Status='VENCEMOS VIA DISTRIBUIDOR'"
DoCmd.RunSQL SQL 'Execução da query acima

MsgBox "Processo finalizado com sucesso!", vbInformation, C_Title 'Finalização do processo

Else

Exit Sub

End If


Exit_Process:
Exit Sub

Err_Process:
C_MsgErr

Resume Exit_Process

End Sub[/Code]

 

Para chamá-la, basta utilizar...

 

[Code]Private Sub processCommand_Click()

Call modProcessos(usuarioText)

End Sub[/Code]

 

 

 

 

Sem mais,

 

Julien Sorel

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.