COMO EU FACO ESSA SQL SEM DEFINIR VARIAVEL
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?
Eu não uso a opçãp FIELDS.
Assim funciona?
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
vc chegou a testar com o campo formatado?
format(rs.Fields([Ô]Data[Ô]),[Ô]dd/mm/yyyy[Ô])
format(rs.Fields([Ô]Data[Ô]),[Ô]dd/mm/yyyy[Ô])
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.
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.
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