Visual Basic Foro

Programación => Bases de Datos => Mensaje iniciado por: aedEric en Abril 03, 2014, 09:55:46 pm

Título: formato fecha Firebird
Publicado por: aedEric en Abril 03, 2014, 09:55:46 pm
Hola  tengo una duda acabo de emigrar de access a firebird gracias a tutoriales de YVAN (saludos) en su foro,
1.- ya logre algunas cosas pero al tratar de realizar una consultas por fechas me salta error
Código: [Seleccionar]
Dim RS As New ADODB.Recordset
Set RS = dB.Execute("select * from BAUTISMO where FECHAB >= #" & CAMPO1 & "# AND FECHAB <= #" & CAMPO2 & "#")
Set DataGrid1.DataSource = RS

2.-ahora una pregunta  mas no le di formato a la fecha por que tambien me marca error , como puedo darle formato de fecha a mi datagrid ya que me carga en este formato (mm-dd-yyyy)

3.- hay alguna manera de agregar la fecha en firegrid en este formato (dd-mm-yyyy)

de antemano agradecere su ayuda saludos a todos los foristas
Título: Re:formato fecha Firebird
Publicado por: YAcosta en Abril 03, 2014, 10:28:42 pm
Primero, MIL DISCULPAS por no responderte en mi foro, la verdad entro poco y acabo de hacerlo a raiz de lo que publicaste aquí, voy a configurar en mi foro para que me envie emails. Vamos a tu tema:

Respondiendo la 1:
No uses execute para los Select. Si usas Execute no es necesario hacer un Set RS y por tanto no es necesario declararlo. Usa Execute para cuando quieras modificar la BD.
Supongo que CAMPO1 es algun control (supongo que un label, textbox o dtPicker)
Cambia esto:
Código: (VB) [Seleccionar]
Dim RS As New ADODB.Recordset
Set RS = dB.Execute("select * from BAUTISMO where FECHAB >= #" & CAMPO1 & "# AND FECHAB <= #" & CAMPO2 & "#")
Set DataGrid1.DataSource = RS

Por esto:
Código: (VB) [Seleccionar]
Dim rs As New ADODB.Recordset
sql = "select * from BAUTISMO where FECHAB >= '" & CAMPO1 & "' AND FECHAB <= '" & CAMPO2 & "'"
rs.Open sql, dB, 1, 1
Set DataGrid1.DataSource = RS

o esto:
Código: (VB) [Seleccionar]
Dim rs As New ADODB.Recordset
sql = "select * from BAUTISMO where FECHAB BETWEEN '" & CAMPO1 & "' AND '" & CAMPO2 & "'"
rs.Open sql, dB, 1, 1
Set DataGrid1.DataSource = RS

(abajo aclaro sobre CAMPO1 y CAMPO2)

Respondiendo la 2:
No uso el datagrid y quiza halla algo que checar alli, en todo caso revisa tu configuracion regional (aunque lo dudo).

Respondiendo la 3:
Supongo que te refieres a agregar Firebird (no a Firegrid, la confusion es que pueda que te refieras al Datagrid)
Guarda en la BD con este formato: YYYY/MM/DD, y recuperalo con el que te convenga. Ese formato no encierra ambigüedad.
Por ende, en la respuesta 1, tu CAMPO1 debe tener ese formato, sino cambialo asi:
CAMPO1 = Format(CAMPO1, "YYYY/MM/DD")
Y te olvidas de incompatibilidades.

Saludos

EDITO: No vayas a confundirte, los parámetros que envíes desde algún control son los que tu nombras CAMPO1 y CAMPO2, quizá allí esta también la confusión porque puede que tu te refieras a campos de la tabla, no lo creo pero bueno esa confusión tengo porque no usas prefijos en tu variable y asi poder intuir desde que control envias el dato.
Título: Re:formato fecha Firebird
Publicado por: aedEric en Abril 04, 2014, 04:01:04 pm
hola Yvan  muchas gracias resuelto con éxito  ;D saludos a todos los foristas desde méxico
Título: Re:formato fecha Firebird
Publicado por: lucius en Abril 06, 2014, 01:51:16 pm
El formato para datagrid es:
Datagrid1.Columns(1).NumberFormat = "dd/yyyy/mm"
Título: Re:formato fecha Firebird
Publicado por: aedEric en Abril 07, 2014, 02:43:30 pm
  ;D gracias Lucius por tu respuesta ya lo habia resuelto saludos