Segue o código abaixo a consulta não retorna num banco access, no banco ela está como data/hora, formato data abreviada mas faço a consulta e não retorna nada;
Date data1 = new Date();
Date data2 = new Date();
String sdata = new String();
SimpleDateFormat df = new SimpleDateFormat(“dd/MM/yyyy”);
try{
sdata = df.format(data1);
}catch(Exception e){
System.out.println(“Erro na hora de converter data”);
}
query = (“SELECT NomedoProduto, QtdTransferida, Data, Relatorio, Motivo, Local, Txtpartnumberentrada FROM entradadeprodutoqtd WHERE Datavenc < " + sdata+ “”);//ORDER BY TxtMotivo” +
Já tentei também < ’ " + sdata+ " ’ " mas da erro por que não é uma string;
Se alguém poder me ajudar valeu.
Consulta SQL Access
9 Respostas
No Access, é preciso dispor as datas entre dois caracteres “#”.
Abraços
Coloquei a data como vc pediu mas não funcionou
query = (“SELECT NomedoProduto, QtdTransferida, Data, Relatorio, Motivo, Local, Txtpartnumberentrada FROM entradadeprodutoqtd WHERE Datavenc = #” + sdata + “#”);//ORDER BY TxtMotivo" +
Se poder me ajudar fico grato
Valeu
Não tenho certeza porque faz tempo que não mexo com Access, mas além de colocar a data entre caracteres “#”, tente aplicar o formato americano nela:
WHERE data = #mm/dd/aaaa#
Abraços
Valeu colega funcionou muito Obrigado pela Ajuda.
Olá, aproveitando o post, estou com dúvidas de como formatar data…
No B.D Access as datas estavam tudo tipo texto…
e na aplicação eu estou usando o
JFormattesTextFiel o qual eu usava nas propriedades==> código ==> codigos de pré descrição:
try
{
formatoDataCad = new MaskFormatter("##/##/####");
}
catch(Exception erro)
{
JOptionPane.showMessageDialog(null,"Não foi possível setar a masca da data de cadastro, erro = " + erro);
}
criação de codigo personalizado:
new JFormattedTextField(formatoDataCad);
quando peço um novo registro ele já deixa “automatico” a data atual, para o usuario não precisar digitar:
Date data = new Date();
String dia = "0" + data.getDate();
String mes = "0"+ String.valueOf(data.getMonth()+1);
String ano = ""+(1900+data.getYear());
if (Integer.parseInt(mes)<=9)
tf_data_cad.setText(dia+mes+ano);
Então tudo funcionava bem, mas surgiu a necessidade de estar arrumando o B.D, o qual mudei o tipo para Data/Hora…
ai não funcionou a aplicaçãozinha que fiz, ja não me mostrava mais as datas…
tirei a mascara do JFormattedField, ele passou a mostrar as datas, mas com uns 00:00:00 na frente…
tentei tudo que pude… mas como sou leiga tenho muita dificuldade.
Ja faz um tempo que estou tentando resolver…
agradeço desde já!
Retire as aspas na hora de cadastrar por que não será mais uma stribg;
Então esse # é da mascara, se eu tirar eles o que coloco no lugar para continuar usando a mascara?
ou não necessito de mascara???
Nos campos de data não esta aceitando mascara… por que??? outros campos como cpf, rg … aceita perfeitamente…
É que eu tive que arrumar meu B.D e imagino que seja porque lá está tipo Date, como faço para comunicar os dois, me entende?
eu tirei a mascara de um campo de data funcionou mas fica assim: 980-05-05 00:00:00
no campo que tem a mascara nem aparece nada…
Eu tenho que criar uma classe para validade as datas? pois se digitar um 30/02/2008 capaz que aceite…
Colocar uma data dentro de um Jformattedt
Date data1 = new Date();
String sdata = new String();
SimpleDateFormat df = new SimpleDateFormat(“dd/MM/yyyy”);
try{
sdata = df.format(data1);
}catch(Exception e){
System.out.println(“Erro na hora de converter data”);
}
Txtdata = new JFormattedTextField(sdata);
Txtdata.setBackground(new Color(204, 204, 204));
Txtdata.setBounds(new Rectangle(24, 8, 84, 21));
//Não deixa receber o foco
Txtdata.setRequestFocusEnabled(false);
fieldsPanel.add(Txtdata );
Esse vc utiliza para fazer uma seleção de dados no banco com a data atual.
Date data1 = new Date();
String sdata = new String();
SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd");
try {
sdata = df.format(data1);
} catch (Exception i) {
System.out.println("Erro na hora de converter data");
}
if ((e.getSource() == fields4.btSelecionar3)) {
if (Pesquisa1 == 0){
query = "SELECT * FROM entradadeprodutoqtd WHERE Datavenc < #" + sdata + "# ORDER BY Txtpartnumberentrada";}
Olá Obrigada pela dica ricardocaoj , estou tendando implementar seu código de acordo com que eu tenho … sou leiga ainda
Outra dúvida essas linhas :
o “e” e o “fields4” no meu caso o que seria???
e esse codigo eu coloco dentro do botão salvar???
<blockquote>
Colocar uma data dentro de um Jformattedt
Date data1 = new Date();
String sdata = new String();
SimpleDateFormat df = new SimpleDateFormat(“dd/MM/yyyy”);
try{
sdata = df.format(data1);
}catch(Exception e){
System.out.println(“Erro na hora de converter data”);
}
Txtdata = new JFormattedTextField(sdata);
Txtdata.setBackground(new Color(204, 204, 204));
Txtdata.setBounds(new Rectangle(24, 8, 84, 21));
//Não deixa receber o foco
Txtdata.setRequestFocusEnabled(false);
fieldsPanel.add(Txtdata ); </blockquote>
Muito grata!!!