Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

duda en base de datos

Estas en el tema de duda en base de datos en el foro de Visual Basic clásico en Foros del Web. hola he observado que para que un campo de una BD enlazada a un textbox se llene de datos primero hay que llenar las primeras ...
  #1 (permalink)  
Antiguo 11/03/2006, 03:24
 
Fecha de Ingreso: enero-2006
Mensajes: 83
Antigüedad: 18 años, 3 meses
Puntos: 0
duda en base de datos

hola he observado que para que un campo de una BD enlazada a un textbox se llene de datos primero hay que llenar las primeras casillas si no me da error, es decir imagina que la bBD se llama agenda y en la agenda pone (nombre direccion telefono etc), bueno para que se llene tengo que al menos tener el el primer renglon lleno, bueno como se hace para que esto no pase no se si me he explicado bien.
saludos
  #2 (permalink)  
Antiguo 11/03/2006, 18:53
Avatar de jc_moty  
Fecha de Ingreso: septiembre-2005
Ubicación: Usulután, El Salvador
Mensajes: 477
Antigüedad: 18 años, 7 meses
Puntos: 1
A ver si entendi, si la BD no tiene registros y queres llenar un textbox con un campo de una tabla te da error. Si mal no recuerdo es el error 3021.
Eso lo podes solucionar asi:
Código:
If (Not recordset.BOF) AND (Not recordset.EOF) Then
    Text1 = recordset("campo1")
Else
    Msgbox "La tabla no contiene registros"
End If
Espero te sirva
Saludos
  #3 (permalink)  
Antiguo 14/03/2006, 03:21
 
Fecha de Ingreso: enero-2006
Mensajes: 83
Antigüedad: 18 años, 3 meses
Puntos: 0
me da error

he puesto como me lo pones y me da el siguiente error (error de compilacion, variable no definida), y en el renglón primero se queda marcado en azul el primer recordset:

If (Not Recordset.BOF) And (Not Recordset.EOF) Then
  #4 (permalink)  
Antiguo 14/03/2006, 09:32
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Entonces escribenos tu codigo para escibirte el codigo para solucionar tu problema de acuerdo al codigo que tu tienes
  #5 (permalink)  
Antiguo 14/03/2006, 13:34
 
Fecha de Ingreso: enero-2006
Mensajes: 83
Antigüedad: 18 años, 3 meses
Puntos: 0
el codigo

es un textbox que realiza una accion numerica



If (Not Recordset.BOF) And (Not Recordset.EOF) Then
Text1 = Recordset("campo1")
Else
MsgBox "La tabla no contiene registros"


Dim pos As Integer
If (Not IsNumeric(Text5.Text)) Then
Text5.Text = 0
End If

Text6.Text = Format(CLng(CDbl(Text5.Text)) * 50 / 100, "##,##0.00")
pos = Text5.SelStart
If (CDbl(Text5.Text) / 1000 >= 1) Then
pos = pos + 1
End If

Text5.Text = Format(Text5.Text, "##,##0.00")
Text5.SelStart = pos
  #6 (permalink)  
Antiguo 15/03/2006, 07:27
 
Fecha de Ingreso: agosto-2005
Ubicación: Peru-Lima
Mensajes: 225
Antigüedad: 18 años, 8 meses
Puntos: 0
Cita:
Iniciado por soriketes
es un textbox que realiza una accion numerica



If (Not Recordset.BOF) And (Not Recordset.EOF) Then
Text1 = Recordset("campo1")
Else
MsgBox "La tabla no contiene registros"


Dim pos As Integer
If (Not IsNumeric(Text5.Text)) Then
Text5.Text = 0
End If

Text6.Text = Format(CLng(CDbl(Text5.Text)) * 50 / 100, "##,##0.00")
pos = Text5.SelStart
If (CDbl(Text5.Text) / 1000 >= 1) Then
pos = pos + 1
End If

Text5.Text = Format(Text5.Text, "##,##0.00")
Text5.SelStart = pos
Dejame ver si te entendi, lo k kieres hacer es averiguar si la tabla esta vacia no?
bueno si es asi aki va el codigo:
Código:
With RS
      If .Bof and :Eof Then
           MsgBox "La Tabla Esta Vacia"
      Else
           Text1.Text = !Campo1
      End If
End With
  #7 (permalink)  
Antiguo 16/03/2006, 08:58
 
Fecha de Ingreso: enero-2006
Mensajes: 83
Antigüedad: 18 años, 3 meses
Puntos: 0
no quiero averiguar si está vacia, lo que quiero es que estando vacia me acepte poner datos
  #8 (permalink)  
Antiguo 16/03/2006, 09:10
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Haber haber... No se te entiende bien que es lo que tratas de querer hacer.. lo que tu necesitas es hacer un select que no obtenga nada de la base, es decir que devuelva un recordset vacio, y aunque este vacio poder hacer:

Text1 = Recordset("campo1")

En ese caso te va a dar error porque el recordset no tiene nada.

O acaso lo que quieres hacer es hacer un select a la tabla agenda y que si te devuelva datos (nombre, direccion, telefono) pero que en alguno de esos campos no haya datos. Si es así se pueden presentar dos casos, si por ejemplo tu quieres hacer:

Text1 = Recordset("telefono")

Dicho campo telefono puede tener nulo o espacio en blanco, que no es lo mismo.

no es lo mismo hacer:

INSERT agenda VALUES('valor1','valor2',null) que
INSERT agenda VALUES('valor1','valor2','') // Dos comillas simples seguidas

en el primer caso se guarda nulo y en el segundo espacio en blanco

Si tu campo tiene nulo te va a dar error al hacer la asignacion al textbox, si tiene espacio en blanco no te va a dar error ya que el dato si existe solo que es vacio
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:37.