Ir para conteúdo
Fórum Script Brasil

Iceguy

Membros
  • Total de itens

    274
  • Registro em

  • Última visita

Tudo que Iceguy postou

  1. Mas ele não quer abrir o access pois o cliente não usa todo dia o sistema. O que você pode fazer é colocar um serviço no windows que faça isso todo dia, mas pra isso o computador tem que ou ficar ligado direto ou ser ligado todo dia. Esse serviço pode usar a DLL do access para se conectar e verificar o arquivo mas sem abrí-lo, pois o seu serviço faria a leitura do arquivo mdb, mas pra isso logicamente você precisaria gerar o executável win32 disso usando outra linguágem de programação.
  2. No access é diferente, você não varre assim, você envia uma consulta SQL pro banco, algo como SELECT destinatario, email, data FROM Emprestimo WHERE data < NOW e ele retorna pra você uma RecordSet(Lista de registros) que você varre um a um e envia o e-mail. Só que é complicado fazer a aplicação pra vc, o que podemos fazer aqui no forum é dar apoio em alguma dúvida ou coisa do tipo. Na internet você acha bastante coisa de como fazer controle de estoque com access, acho que isso se aproxima mais ao seu problema, depois você adapta ele ao seu caso e implementa a parte de enviar e-mail automático pra quem estiver em atraso.
  3. Isso é Excel O.ô Urght! De onde vem o Data()? Seria o dia de hoje? Daí é Now() If CDate(Cells(i, 6).Value) <= CDate(Format(Now(), "dd/mm/yyyy")) Then
  4. Iceguy

    erro 13: tipos incompativeis

    Agora que lembrei... já tive esse tipo de erro, acontecia na hora de conectar, fechei o db e abri dnovo e deu outro erro mais pra frente, conferi o código e tava certo, daí deu meu horário e eu fechei e no outro dia abri dnovo e fui testar e deu certo. Quem sabe se importar a api via código? Algo como Declare Function apiADODB Lib "msado15.dll" Alias "MyADODB"... Acho que seria muuuuito braçal, mas... Se você for usar DAO, tem que mudar tudo pra DAO, tem que mudar tudo pra DAO, mas em DAO não lembro como usar parâmetros nas consultas
  5. Iceguy

    erro 13: tipos incompativeis

    Instalou o M$ ADO 2.8 Library? Abre o pesquisador de objeto no VBA Editor e seleciona a biblioteca ADODB, embaixo aparece o caminho dela. Aqui ta isso: "C:\Arquivos de programas\Arquivos comuns\System\ado\msado15.dll"
  6. Tenta isso e vê se da certo =SeImed([arremate mal feito] = 0; 0; Arred(([arremate mal feito]/[total do pedido])*100;2) & "%") =SeImed([pregas] = 0; 0; Arred(([pregas]/[total do pedido])*100;2) & "%")
  7. percentual do que em relação ao que?
  8. É como um contas a pagar/contas a receber seria assim Funcionario | Data | MovFinanceira João | 18/08/2011 | R$-500,00 João | 19/08/2011 | R$230,00 Aí se tu der um SELECT SUM(TF.MovFinanceira) FROM TabelaFinanceira AS TF WHERE TF.Funcionario = 'João'; ele volta R$270,00
  9. Na verdade um SELECT de uma consulta é um SELECT FROM SELECT Ex: SELECT T.Aprovado FROM (SELECT IIF(TB.Nota >= 60, 'Aprovado', 'Reprovado') AS Aprovado FROM TabelaBoletim AS TB) AS T" Na SQL você num precisa colocar 2x", você usa aspas simples (como o exemplo alí)
  10. relatório do access, daí vem essa tela aí (na versão 2007) e você escolhe o formato, daí abre uma save box e você escolhe onde deseja salvar
  11. Um exemplo aí Option Compare Database Option Explicit Private numero_amostra As String Private data_amostra As Date Private conn As ADODB.Connection Private cmd As ADODB.Command Private prm As ADODB.Parameter Private Sub Class_Initialize() Set conn = CurrentProject.Connection Set cmd = New ADODB.Command cmd.ActiveConnection = conn cmd.NamedParameters = True End Sub Private Sub Class_Terminate() cmd.ActiveConnection.Close Set cmd = Nothing Set conn = Nothing Set prm = Nothing End Sub Public Property Let LetAmostra(NumeroAmostra As String) numero_amostra = UCase(NumeroAmostra) End Property Public Property Let LetDataAmostra(DataAmostra As Date) data_amostra = Format(DataAmostra, "mm/dd/yyyy") End Property Public Sub Salvar() cmd.CommandText = "INSERT INTO t_Amostra(Amostra, Data_Amostra) VALUES(@Amostra, @Data_Amostra)" Set prm = cmd.CreateParameter(Name:="@Amostra", Type:=adVarChar, Size:=13, Direction:=adParamInput, Value:=numero_amostra) cmd.Parameters.Append prm Set prm = cmd.CreateParameter(Name:="@Data_Amostra", Type:=adDBDate, Direction:=adParamInput, Value:=data_amostra) cmd.Parameters.Append prm On Error GoTo Erro cmd.ActiveConnection.BeginTrans cmd.Execute cmd.ActiveConnection.CommitTrans Sair: Exit Sub Erro: cmd.ActiveConnection.RollbackTrans Resume Sair End Sub Public Function Recuperar() As ADODB.Recordset cmd.CommandText = "SELECT TA.Amostra, TA.Data_Amostra FROM t_Amostra AS TA ORDER BY TA.Amostra" Set Recuperar = cmd.Execute() End Function
  12. Controle de acesso com usuário e senha e perfis de usuários com níveis de acesso.
  13. Usa parâmetro na busca do tipo adDBDate (data sem hora) e trabalhacom datas em "mm/dd/yyyy", quando for mostrar na tela formata ela pra "dd/mm/yyyy"
  14. achei aqui http://msdn.microsoft.com/en-us/library/aa...fice.11%29.aspx Cometi um erro, era DoCmd.OutputTo ObjectType:=acOutputReport, ObjectName:="NomeDoRelatorio", OutputFormat:=acFormatXLS
  15. tira o , ObjectType:="xls" do comando
  16. Isso é um código de VBA no botão exportar que você fez, clique com o botão direito nele e selecione "Construir Evento..." aí abre essa tela Aí você seleciona Construtor de código. Na tela que vai abrir tem lá uma função +- assim: Private Sub Comando0_Click() End Sub aí você coloca o código lá dentro da Sub, fica assim: Private Sub Comando0_Click() DoCmd.OutputTo ObjectType:=acOutputReport, ObjectName:="NomeDoRelatorio", OutputFormat:="xls" End Sub
  17. Eu vi, só dei umas "dicas" pra evitar erros e tal
  18. Testa RecordSet vazia, coloca assim por exemplo: If rs.BOF And rs.EOF Then GoTo Sair End If no texto da consulta tu usa Parâmetros, igual ta no outro post ali que acho que foi você mesmo que teve problemas com o Double jogando valor direto. Eu costumo usar algo como Campo e @Campo, onde o @ entra na frente do nome do parâmetro, pra ficar mais fácil em inserts onde você copia e cola os campos e sai colocando @ na frente, enfim... Questão de padrão meu E no final, antes de setar rs = nada, você da um rs.close, em algumas versões do access pode dar pau e impedir que feche o programa por causa da rs aberta
  19. Pelo assistente do ACCESS não me recordo se dá, mas você pode fazer ou "no braço" ou fazer uma consulta que traz os campos que você quer dessas duas consultas ou uma junção delas usando JOINs
  20. Insere um botão no seu formulário, e cancela o assistente, daí você muda o nome dele pra Exportar e depois clica dnovo com botão direito e coloca "Criar Evento" e escolhe de código, depois cola isso lá
  21. Usa esse código: DoCmd.OutputTo ObjectType:=acOutputReport, ObjectName:="NomeDoRelatorio", OutputFormat:="xls" E troca NomeDoRelatorio pelo nome do seu relatório entre " (aspas) mesmo Se você quiser pode colocar sem o , OutputFormat:="xls" que daí ele pergunta em que formato você quer exportar
  22. HEHE... Falha Técnica Corrigi... Sub TestIt() Dim conn As ADODB.Connection Dim cmd As ADODB.Command Dim rs As ADODB.Recordset Set conn = CurrentProject.Connection Set cmd = New ADODB.Command cmd.ActiveConnection = conn cmd.CommandText = "SELECT TI.prod, TI.qtde, TI.preço FROM TIK_ITENS AS TI" Set rs = cmd.Execute If rs.EOF And rs.BOF Then GoTo Sair End If rs.MoveFirst Do While Not rs.EOF MsgBox rs("prod") & vbNewLine & _ rs("qtde") & vbNewLine & _ rs("preço") rs.MoveNext Loop Sair: rs.Close cmd.ActiveConnection.Close Set rs = Nothing Set cmd = Nothing Set conn = Nothing End Sub
  23. Tenta isso, não testei Sub TestIt() Dim conn As ADODB.Connection Dim cmd As ADODB.Command Dim rs As ADODB.Recordset Set conn = CurrentProject.Connection Set cmd = New ADODB.Connection cmd.ActiveConnection = conn cmd.CommandText = "SELECT TI.prod, TI.qtde, TI.preço FROM TIK_ITENS AS TI" Set rs = cmd.Execute rs.MoveFirst Do While Not rs.EOF MsgBox rs("prod") & vbNewLine & _ rs("qtde") & vbNewLine & _ rs("preço") rs.MoveNext Loop cmd.ActiveConnection.Close rs.Close Set rs = Nothing Set cmd = Nothing Set conn = Nothing End Sub
  24. Mais fácil: Public Function CalculaIdade(DataNascimento As Date) As String CalculaIdade = Format(CLng(Now()) - CLng(DataNascimento), "yy a\no(\s), mm \mê\s(e\s) e dd \dia(\s)") End Function
×
×
  • Criar Novo...