Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Preciso que ao selecionar em uma combobox um mês, exiba todas as vendas este mês, então fiz este código, mas dá um erro de sintaxe perto da palavra FROM!!!
Alguém sabe o que pode ser??? OBS: Minha combo tem como opções os mês desta maneira: 1, 2, etc...
dmData.qryConsVenda.Close; dmData.qryConsVenda.SQL.Clear; dmData.qryConsVenda.SQL.Text := 'Select * From TBL_VENDAS Where extract(month from data) = :Mes'; dmData.qryConsVenda.Parameters[0].Value := cmbMes.Text; dmData.qryConsVenda.Open; rvpjConsVendas.Execute;
Valeu!!!
Wellington
Cara, não funcionou, mas valeu... continuou o mesmo erro!!!
cola o erro ai!
Project PSisCom.exe raised exception class EOleException with message 'Incorrect syntax near the keyword 'from''Ta ai!!!
esse erro da tando qnd tu sai do combo?? tipo... so pra ter certeza... da um find pela palavra from nessa unit ai... pra ver se tem em outro lugar.. cara.. pelo q eu to olhando não tem esse nesse codigo... faz isso... mas antes tenta passa o sql assim pra ele...
'Select * From TBL_VENDAS Where extract(month from data) = ' + NumeroMes(cmbMes.Text);so pra garantir mesmo... ai ainda faz assim.... antes de da o open na qry tu coloca um SQL.SaveToFile();
pra ver certinho como ta ficando o sql na qry.... axo q esses passos devem resolver! :P testa ai qualquer coisa volta ai de novo!
Cara... valeu de novo, mas fiz essas alterações e o erro persiste!!! Fiz isso:
dmData.qryConsVenda.SQL.SaveToFile('query.txt');
mas naum adiciona nada neste arquivo... este erro dá quando eu clico no botão...
Valeu!!!
Wellington
<_< q paia isso! :\ tipo... cola a procedure do botão inteira aqui.... aaaaaa.. se eu não vo axa esse erro... :P ! vai na manha!
O código do botão é o que já te passei em respostas anteriores e o que você mesmo me passou!!! É só aquilo!
Se você executar este comando no SQlExplorer ou em algum outro programa de execução de SQL funciona ??? Qual é a estrutura da sua tabela TBL_VENDAS ???
Executei no SQL Query Analyzer e dá o mesmo erro... é no segundo from... mas não sei como arrumo!!!Server: Msg 156, Level 15, State 1, Line 1Incorrect syntax near the keyword 'from'.
Para o SQL Server você deverá de usar uma outra função, a datepart, ficando assim:
qry.Close;qry.SQl.Clear;qry.SQl.Add('Select *');qry.SQl.Add('From TBL_VENDAS');qry.SQl.Add('Where datepart(MONTH, TBL_VENDAS.data) = ' + cmbMes.Text);qry.Open;Sendo que não é necessário usar a função NumeroMes para adicionar um "0" na frente.
Valeu cara... Funcionou!!! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif
Wellington http://forum.imasters.com.br/public/style_emoticons/default/clap.gif
só por garantia mesmo... faz assim::
dmData.qryConsVenda.Close;dmData.qryConsVenda.SQL.Clear;dmData.qryConsVenda.SQL.Add('Select * From TBL_VENDAS Where extract(month from data) = :Mes');dmData.qryConsVenda.ParamByName('Mes').Value := cmbMes.Text; //BDE//dmData.qryConsVenda.Parameters.ParamByName('Mes').Value := NumeroMes(cmbMes.Text); // ADOdmData.qryConsVenda.Open;rvpjConsVendas.Execute;
ai cria a função
function NumeroMes(mes: string): String;varaux: string;beginif length(mes) = 1 thenaux := '0'+meselseaux := mesresult := aux;end;
só pra garantir mesmo que o mes vai ter dois digitos... hehhe... testa ai.. qualquer coisa.. valta ai!!