COMO EU FACO ESSA SQL SEM DEFINIR VARIAVEL

WEBIER 29/12/2009 16:11:12
#330685

ei fiz assim:

Private Sub Mostrar_Dados()
Call ABRIR_BD_SEM_DATA1
SQL = [Ô]SELECT * FROM MESAS_PEDIDO WHERE (MESA = [ô][Ô] & lblMesa.Caption & [Ô][ô])[Ô]
Set rs = BD.OpenRecordset(SQL)

If Not rs.EOF Then
If Not IsNull(rs.Fields([Ô]CODIGO[Ô])) Then lblCodPedido.Caption = rs.Fields([Ô]CODIGO[Ô])
If Not IsNull(rs.Fields([Ô]COD_GARCON[Ô])) Then txtCodGarcon.Text = rs.Fields([Ô]COD_GARCON[Ô])
If Not IsNull(rs.Fields([Ô]DATA[Ô])) Then mskData.Text = rs.Fields([Ô]DATA[Ô])
If Not IsNull(rs.Fields([Ô]Hora[Ô])) Then mskHora.Text = rs.Fields([Ô]Hora[Ô])
End If
End Sub


ai quando chegar no campo DATA ele dizia [Ô]Item não encontrado nessa seleção[Ô]

sendo q existe esse campo e inclussive tah preenchido.

a unica forma dele aceitar e mostrar foi criando variaveis:

Private Sub Mostrar_Dados()
Call ABRIR_BD_SEM_DATA1
SQL = [Ô]SELECT * FROM MESAS_PEDIDO WHERE (MESA = [ô][Ô] & lblMesa.Caption & [Ô][ô])[Ô]
Set rs = BD.OpenRecordset(SQL)

Dim var_Data As Date
var_Data = rs.Fields([Ô]Data[Ô])

Dim var_Hora As Date
var_Hora = Format(rs.Fields([Ô]Hora[Ô]), [Ô]hh:mm[Ô])

If Not rs.EOF Then
If Not IsNull(rs.Fields([Ô]CODIGO[Ô])) Then lblCodPedido.Caption = rs.Fields([Ô]CODIGO[Ô])
If Not IsNull(rs.Fields([Ô]COD_GARCON[Ô])) Then txtCodGarcon.Text = rs.Fields([Ô]COD_GARCON[Ô])
mskData.Text = var_Data
mskHora.Text = var_Hora
End If
End Sub


Pergunta: tem como exibir os campos do tipo data/hora sem ter q defini-los em variaveis? e pq isso acontece?
EDERMIR 29/12/2009 21:44:52
#330708
Eu não uso a opçãp FIELDS.
Assim funciona?
Private Sub Mostrar_Dados()
Call ABRIR_BD_SEM_DATA1
SQL = [Ô]SELECT * FROM MESAS_PEDIDO WHERE (MESA = [ô][Ô] & lblMesa.Caption & [Ô][ô])[Ô]
Set rs = BD.OpenRecordset(SQL)

If Not rs.EOF Then
If Not IsNull(rs!CODIGO) Then lblCodPedido.Caption = rs!CODIGO
If Not IsNull(rs!COD_GARCON) Then txtCodGarcon.Text = rs!COD_GARCON
If Not IsNull(rs!DATA) Then mskData.Text = rs!DATA
If Not IsNull(rs!Hora) Then mskHora.Text = rs!Hora
End If
End Sub
FININHO 30/12/2009 02:21:02
#330720
vc chegou a testar com o campo formatado?
format(rs.Fields([Ô]Data[Ô]),[Ô]dd/mm/yyyy[Ô])
WCOSTA 30/12/2009 08:40:04
#330721
Resposta escolhida
Acho que a melhor opção é definir a variável, pois caso mude o formato da hora no computado de duas casas no ano para quatro, não haverá erro, já que o padrão da variável estará sendo definida pelo sistema.
A variável estará sendo setada em apenas uma linha de código e não trará contratempos, alias é sempre bom definir variável do tipo certo, evitando assim bugs.
MARCELO.TREZE 30/12/2009 12:04:52
#330754
Tanta assim

Private Sub Mostrar_Dados()
Call ABRIR_BD_SEM_DATA1
SQL = [Ô]SELECT * FROM MESAS_PEDIDO WHERE (MESA = [ô][Ô] & lblMesa.Caption & [Ô][ô])[Ô]
Set rs = BD.OpenRecordset(SQL)

If Not rs.EOF Then
If Not IsNull(rs.Fields([Ô]CODIGO[Ô])) Then lblCodPedido.Caption = rs.Fields([Ô]CODIGO[Ô])
If Not IsNull(rs.Fields([Ô]COD_GARCON[Ô])) Then txtCodGarcon.Text = rs.Fields([Ô]COD_GARCON[Ô])
If Not IsNull(rs.Fields([Ô]DATA[Ô])) Then mskData.Text = CDate(rs.Fields([Ô]DATA[Ô]))
If Not IsNull(rs.Fields([Ô]Hora[Ô])) Then mskHora.Text = CDate(rs.Fields([Ô]Hora[Ô]))
End If
End Sub

Tópico encerrado , respostas não são mais permitidas