
Iceguy
Membros-
Total de itens
274 -
Registro em
-
Última visita
Tudo que Iceguy postou
-
Seu problema é que fica assim: "INSERT INTO TABELA(VALOR) VALUES(" & Valor & ")" e se o valor é Double e vale 4,5 você tem essa string: "INSERT INTO TABELA(VALOR) VALUES(4,5)" Ou seja, tenho 2 campos nos valores e 1 nos campo na tabela Usa consulta parametrizada que num da erro Dim conn As ADODB.Connection Dim cdm As ADODB.Command Dim prm As ADODB.Parameter 'Direciona a conexão para o banco corrente Set conn = CurrentProject.Connection 'Instancia novo comando Set cmd = New ADODB.Command 'Cria conexão cmd.ActiveConnection = conn 'Configura as consultas para aceitar parâmetros nomeados cmd.NamedParameters = True 'insere o texto da consulta cmd.CommandText = "INSERT INTO ENTREGAS(COD_PED, REMUN, FATOR, TOTAL) VALUES(@COD_PED, @REMUN, @FATOR, @TOTAL)" 'Cria parâmetro @COD_PED Set prm = cmd.CreateParameter(Name:="@COD_PED", Type:=adNumeric, Direction:=adParamInput, Value:=Me.COD_PED) 'Anexa o parâmetro cmd.Parameters.Append prm 'Cria parâmetro @REMUN Set prm = cmd.CreateParameter(Name:="@REMUN", Type:=adNumeric, Direction:=adParamInput, Value:=strREM) 'Anexa o parâmetro cmd.Parameters.Append prm 'Cria parâmetro @FATOR Set prm = cmd.CreateParameter(Name:="@FATOR", Type:=adNumeric, Direction:=adParamInput, Value:=strFAT) 'Anexa o parâmetro cmd.Parameters.Append prm 'Cria parâmetro @TOTAL Set prm = cmd.CreateParameter(Name:="@TOTAL", Type:=adNumeric, Direction:=adParamInput, Value:=TOTD) 'Anexa o parâmetro cmd.Parameters.Append prm On Error GoTo Erro 'Inicia transação cmd.ActiveConnection.BeginTrans 'Executa SQL cmd.Execute 'Confirma transação cmd.ActiveConnection.CommitTrans Sair: 'Fecha conexão cmd.ActiveConnection.Close 'Limpa memória Set cmd = Nothing Set conn = Nothing Set prm = Nothing Erro: 'Cancela transação cmd.ActiveConnection.RollbackTrans 'Resuma na saída Resume Sair com isso os parâmetros limitam o dado que entra e você não precisa se preocupar com aspas ou qualquer outra coisa Não esquece de adicionar a referência do "Microsoft ActiveX Data Objects 2.8 Library"
-
No Load() ele ta carregando, não abriu ainda, então não dá pra fechar algo que não foi aberto, tem que ser no Open() mesmo
-
Tenta isso: SELECT FORMAT(TE.DataDemissao - TE.DataAdmissao, 'yy a\no(\s), mm \mê\s(e\s) e dd \dia(\s)') AS [Tempo de Casa] FROM Tabela_Empregado AS TE;
-
Acho que isso funciona, ele junta os registros distintos das duas tabelas SELECT * FROM tabela_dia_dia UNION SELECT * FROM tabela_acumula
-
Isso é gambiarra...
-
Especifique a tabela que você traz cada dado, por exemplo SELECT tabelaEmpregado.matricula, tabelaEmpregado.nome, tabelaEmpregado.cargo FROM tabelaEmpregado;. Com isso fica mais fácil saber o que é o que. Pelo que eu vi, eventos.código e referencia é a mesma coisa, então coloca somente um deles Outra coisa, é frescura mas... Uma entidade é sempre no singular, ou seja, no seu caso a tabela eventos deveria se chamar evento pois ela é uma coleção de eventos, chamando de eventos você diz que ela é uma coleção de coleções de eventos, e a mesma coisa em fotos. Enfim, questão de convenção...
-
Faz um form para adicionar itens, daí nele tu coloca um textbox de tipo e uma textbox de patrimônio e uma listbox geral desabilita o tab index da lista e coloca no evento de lost focus do textbox de patrimônio algo como listbox.addItem textbox_patrimonio, depois coloca um botão gravar e no evento de click dele você coloca For itemCount = 0 To SuaLista.ListCount - 1 Sua SQL pra inserir o textbox_tipo e o SuaLista.ItemData(itemCount) na sua tabela Next itemCount
-
Formula melhor a pergunta, ta meio confuso E não precisa do LIKE '*' porque se é igual a tudo não precisa do critério
-
Assim ajuda? SELECT IIF((FORMAT(NOW(), 'mm') - FORMAT(tblData.Data, 'mm')) > 0, (FORMAT(NOW(), 'yyyy') - FORMAT(tblData.Data, 'yyyy')), (FORMAT(NOW(), 'yyyy') - FORMAT(tblData.Data, 'yyyy')) - 1) AS Anos, IIF(FORMAT(NOW(), 'mm') > FORMAT(tblData.Data, 'mm'), FORMAT(NOW(), 'mm') - FORMAT(tblData.Data, 'mm'), FORMAT(NOW(), 'mm') - FORMAT(tblData.Data, 'mm') + 12) AS Mêses FROM tblData;
-
Coloca na SQL assim: ORDER BY MONTH([Sua Data]), DAY([Sua Data]) ou ORDER BY FORMAT([Sua Data], 'dd/mm')
-
Vê se isso ajuda: Option Compare Database Option Explicit Private Sub Form_Load() SuaComboBox.RowSourceType = "Value List" SuaComboBox.AddItem "Cadastro" SuaComboBox.AddItem "Seguro" SuaComboBox.AddItem "Vagas" End Sub Private Sub SuaComboBox_BeforeUpdate(Cancel As Integer) Select Case SuaComboBox.Value Case "Cadastro": DoCmd.OpenQuery "RelCadastro" Case "Seguro": DoCmd.OpenQuery "RelSeguro" Case "Vagas": DoCmd.OpenQuery "RelVagas" End Select End Sub
-
Tenho uma tabela com agendamento de pesquisas, na coluna A tenho uma relação de nomes, e da coluna G em diante são os períodos onde eu coloco sim nas linhas correspondente ao nome pesquisado (linha 1 data de início e linha 2 data de fim, linha 3 em diante tem vários campos para marcar quem faz no período). Fiz um esquema pra ele pegar a data de hoje e ver em qual período está e voltar o número da coluna =SOMARPRODUTO((($G$1:$AN$1)<= $F$8)*(($G$2:$AN$2)>= $F$8)*(($G$1:$AN$1))) Em F8 tem a data de hoje (função HOJE() ) como hoje estou no primeiro período ele me voltou 7 (Coluna G com o primeiro período) Baseado nisso criei uma referência de busca para o critério =T("Agendamento!" & ENDEREÇO(3;Agendamento!$F$9) &":"& ENDEREÇO(183;Agendamento!$F$9)) isso retornou Agendamento!$G$3:$G$183 marquei outro local a referência dos nomes de quem será pesquisado Agendamento!$A$3:$A$183 da coluna G em diante tem campos onde eu posso colocar "Agendado", "Não executado", "OK" e "Erro", já validei as células para isso E eu tenho somente 8 pesquisas por período, então preciso de algo assim: Preciso uma fórmula que busque células não vazias em Agendamento!$G$3:$G$183 e retorne o valor da linha que tem algo escrito mas de Agendamento!$A$3:$A$183, depois o segundo e por aí vai até a oitava coluna A...coluna G........coluna H nome 1.........................AGENDADO nome 2.....AGENDADO nome 3 nome 4.........................AGENDADO nome 5.....AGENDADO nome 6 nome n primeira célula da outra planilha tem que aparecer "nome 2" e na segunda célula "nome 5" quando eu estiver no período da segunda pesquisa aparece na primeira célula "nome 1" e na segunda "nome 4"
-
erro "stdole32.tlb ao abrir aplicativo do office
pergunta respondeu ao alex_gyn de Iceguy em Microsoft Office
Esse arquivo fica em %systemroot%\System32 Tenta reparar a instalação do office, coloca o DVD pra instalar daí poe pra reparar e vê se resolve. Se não der certo tenta copiar o arquivo de alguma máquina onde ele rode de boa e jogar por cima do teu -
Na tabela fornecedor você coloca um campo tipo, cria uma tabela tipo e nela coloca os tipos de fornecedores, por exemplo: 1 = máquinas, 2 = químicos, etc e cria uma relação das duas assim você garante que não coloquem fornecedor de quimicos e químicos (depois pode dar problema na busca por causa do acento). Aí você tem que cadastrar o fornecedor várias vezes, cada uma com um tipo Ah, e o tipo passaria a ser chave estrangeira na tabela do fornecedor, junto com cnpj dele, ou seja, os dois campos seriam uma chave composta, assim só existe um cadastro de cada fornecedor pra cada tipo, impossibilitando o usuário de cadastrar 2x o mesmo fornecedor no mesmo tipo de produto/serviço fornecido
-
Estrutura da sua tabela teria que ser algo assim: Ano | Mes | Valor 1915 | 2 | 42 1967 | 7 | 12 ... Aí tu usa uma SQL pra buscar, SELECT suaTabela.Valor FROM suaTabela WHERE suaTabela.Ano = 1915 AND suaTabela.Mes = 2, nesse exemplo retorna 42
-
To querendo ajudar a fazer uma atividade lá no meu trampo, o cara tem que pegar várias notas fiscais de oficinas e lançar item a item da nota num sistema web lá, e as oficinas não têm acesso a esse sistema, pois é interno. Quero fazer um bot que funcione assim: O cara da oficina vai receber um programinha que tem todos os serviços que ele pode fazer e por ele o cara vai gerar um arquivo, esse arquivo o cara do meu trampo recebe por e-mail e adiciona no bot, o bot mostra uma lista com os itens e o cara confere com a nota impressa, se tiver certo ele da OK e o bot vai inserindo item a item no web form. Como fazer isso?
-
Formulas para retornar diferentes somas.
pergunta respondeu ao cloudsp de Iceguy em Microsoft Office
Aprendi isso esses dias aqui em... =SOMARPRODUTO(($C:$C = 5401)*($D:$F)) aqui ele vê se a coluna C é igual a 5401 e se for soma as colunas D até F -
UNION funciona tipo assim, as duas tabelas tem que ter a mesma estrutura e você tem duas formas básicas de trabalhar com ela SELECT campos FROM tabela1 WHERE condições UNION SELECT campos FROM tabela2 WHERE condições; aí ele junta em uma tabela só os registros únicos se quiser que permita duplicidade aí usa o UNION ALL Mas pelo que vi da pra usar UNION cara, menos tabelas no banco, e sem redundância.
-
Achei o erro :blush: Tinha um campo com valor 0, daí deu divisão por zero :wacko: Eu me esqueci de colocar na validação o critério "> 0"
-
To tentando executar uma consulta aqui mas ta dando erro de Sobrecarga, onde a tabela que tem os dados "pesados" só tem 826 registros. O que poderia ser? SQL: SELECT tblIndicadores.descIndicador AS Indicador, tblOcorrencias.dataOcorrencia AS Data, tblUnidades.tipoUnidade + tblUnidades.nomeUnidade AS Unidade, tblOcorrencias.descProblema AS Problema, tblOcorrencias.descAcao AS Ação, IIf(tblIndicadores.prazo=True, tblOcorrencias.qtdePrazo/tblOcorrencias.qtdeTotal, (tblOcorrencias.qtdeTotal-tblOcorrencias.qtdePrazo)/tblOcorrencias.qtdeTotal) AS indice FROM tblUnidades INNER JOIN (tblIndicadores INNER JOIN tblOcorrencias ON tblIndicadores.codIndicador=tblOcorrencias.codIndicador) ON tblUnidades.codUnidade=tblOcorrencias.codUnidade WHERE IIf(tblIndicadores.prazo=True, tblOcorrencias.qtdePrazo/tblOcorrencias.qtdeTotal<tblIndicadores.metaIndicador, (tblOcorrencias.qtdeTotal-tblOcorrencias.qtdePrazo)/tblOcorrencias.qtdeTotal>tblIndicadores.metaIndicador) And IsNull(tblOcorrencias.descProblema) = TRUE ORDER BY tblUnidades.nomeUnidade, tblOcorrencias.dataOcorrencia ;
-
Uia... Eu num sabia usar assim não Oo P*** *U* *A*I*... Eu me matei caçando essa bagaça na internet e num sabia que dava pra usar o SOMARPRODUTO() dessa forma aauhauahauha
-
ve se isso arruma aí Set rs = db.OpenRecordset("SELECT * FROM fechamentoLivroCaixa_Saldos WHERE dataFechamento =# & Format(dataPesquisa, "mm/dd/yyyy" & #")
-
Valida isso via código VBA e não por funções do Access
-
pra usar aspas você usa ela duas vezes MsgBox "Escrevendo ""entre aspas""" E colocando esse valor dentro da propriedade do form ele funciona? Esse que você ta tentando definir no ControlSource
-
Que tipo de controle é? ComboBox? Usa a propriedade RowSource e passa a SQL ou o nome da query como parâmetro