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

No me muestra los datos que quiero

Estas en el tema de No me muestra los datos que quiero en el foro de Visual Basic clásico en Foros del Web. Buenas noches a todos, tengo un problema con un proyecto que estoy haciendo: Tengo que hacer un form de unidades de medidas con sub unidades ...
  #1 (permalink)  
Antiguo 13/12/2011, 19:33
Avatar de gasuton  
Fecha de Ingreso: octubre-2010
Ubicación: Abandonware
Mensajes: 132
Antigüedad: 13 años, 6 meses
Puntos: 2
Exclamación No me muestra los datos que quiero

Buenas noches a todos, tengo un problema con un proyecto que estoy haciendo:

Tengo que hacer un form de unidades de medidas con sub unidades que se guarden en una DB de access, esto ya lo hice sin problemas el tema que tengo aqui es que a la hora de hacer mis subunidades tengo que reprsentar la relacion de las mismas, esto es por ejempo "1 KG = 1000 Gr."

Para hacer esto hice el siguientye codigo:

Código:
Private Sub Form_Load()

coef.Text = "1 '" & DataCombo1.DataField & "' = '" & relauni(1).DataField & "' '" & Text1(0).DataField & "'"

End Sub
El problema es que en mi text me muestra lo siguiente:

1 'selctunidadmaest' = 'relacion' 'nombuni'

Basicamente lo que esta entre las comillas simples es el titulo de la columna de la tabla donde estan los datos.
  #2 (permalink)  
Antiguo 14/12/2011, 12:51
Avatar de lokoman  
Fecha de Ingreso: septiembre-2009
Mensajes: 502
Antigüedad: 14 años, 6 meses
Puntos: 47
Respuesta: No me muestra los datos que quiero

Hola!
Y si usas la propiedad TEXT en vez de DATAFIELD?
  #3 (permalink)  
Antiguo 14/12/2011, 19:20
Avatar de gasuton  
Fecha de Ingreso: octubre-2010
Ubicación: Abandonware
Mensajes: 132
Antigüedad: 13 años, 6 meses
Puntos: 2
Respuesta: No me muestra los datos que quiero

Cita:
Iniciado por lokoman Ver Mensaje
Hola!
Y si usas la propiedad TEXT en vez de DATAFIELD?
mmmm que extraño ahora me sale lo siguiente:


1 '' = '' 'Kg'

cuando deberia decir 1 Kg = 1000 Gr

mmmm ya se me sale asi, porque me esta tomando el primer registo de la tabla, en vez de tomar los datos del registro en el que estoy parado. Solo que como hago que me tome en el que estoy parado...
  #4 (permalink)  
Antiguo 15/12/2011, 08:40
Avatar de lokoman  
Fecha de Ingreso: septiembre-2009
Mensajes: 502
Antigüedad: 14 años, 6 meses
Puntos: 47
Respuesta: No me muestra los datos que quiero

Y la propiedad 'BOUNDTEXT'?

Al datacombo le pasas el nombre del campo en la propiedad datafield, el boundtext te traerá los registros del campo seleccionado en el datafield
  #5 (permalink)  
Antiguo 15/12/2011, 18:36
Avatar de gasuton  
Fecha de Ingreso: octubre-2010
Ubicación: Abandonware
Mensajes: 132
Antigüedad: 13 años, 6 meses
Puntos: 2
Exclamación Respuesta: No me muestra los datos que quiero

Cita:
Iniciado por lokoman Ver Mensaje
Y la propiedad 'BOUNDTEXT'?

Al datacombo le pasas el nombre del campo en la propiedad datafield, el boundtext te traerá los registros del campo seleccionado en el datafield
no me ha funcionado de hecho e intentado varias cosas de msde en relacion a boundtext pero nada.

Código:
unidades.RecordSource = "select unidades(selctunidadmaest)" & " as dtc1 from unidades"
DataCombo1.DataField = "dtc1" y aqui me da runtie error 505 unable to bind to field or datamember: 'dtc1'
unidades.Refresh

coef.Text = "1 '" & dtc1 & "' = '" & relauni(1).Text & "' '" & Text1(0).Text & "'"
Y lo raro es que solo puedo poner boundtext en una sola parte de mi codigo

Código:
Private Sub Form_Load()

coef.Text = "1 '" & DataCombo1.BoundText & "' = '" & relauni(1).Text & "' '" & Text1(0).Text & "'"

End Sub
ya que en las otras opciones relauni(1) y text1(0), no tengo la opcion de boundtext.
  #6 (permalink)  
Antiguo 16/12/2011, 06:32
Avatar de lokoman  
Fecha de Ingreso: septiembre-2009
Mensajes: 502
Antigüedad: 14 años, 6 meses
Puntos: 47
Respuesta: No me muestra los datos que quiero

A ver, intenta asi:

Código vb:
Ver original
  1. unidades.RecordSource = "select unidades(selctunidadmaest) as dtc1 from unidades"
  2. DataCombo1.DataField = unidades!dtc1
  3. unidades.Refresh
  4.  
  5. coef.Text = "1 " & DataCombo1.BoundText  & " = " & relauni(1).Text & " " & Text1(0).Text

Que control es "relauni(1)"?
Si no es un DataCombo no te va a salir el BoundText
  #7 (permalink)  
Antiguo 19/12/2011, 13:12
Avatar de gasuton  
Fecha de Ingreso: octubre-2010
Ubicación: Abandonware
Mensajes: 132
Antigüedad: 13 años, 6 meses
Puntos: 2
Respuesta: No me muestra los datos que quiero

Cita:
Iniciado por lokoman Ver Mensaje
A ver, intenta asi:

Código vb:
Ver original
  1. unidades.RecordSource = "select unidades(selctunidadmaest) as dtc1 from unidades"
  2. DataCombo1.DataField = unidades!dtc1
  3. unidades.Refresh
  4.  
  5. coef.Text = "1 " & DataCombo1.BoundText  & " = " & relauni(1).Text & " " & Text1(0).Text

Que control es "relauni(1)"?
Si no es un DataCombo no te va a salir el BoundText
Con ese codigo e da un runtime error 438, object doesn't support this property or method.

haciendo referencia a la linea de cofigo: DataCombo1.DataField = unidades!dtc1

con especto a relauni y text, ambos 2 son textbox.
  #8 (permalink)  
Antiguo 20/12/2011, 07:23
Avatar de lokoman  
Fecha de Ingreso: septiembre-2009
Mensajes: 502
Antigüedad: 14 años, 6 meses
Puntos: 47
Respuesta: No me muestra los datos que quiero

Bueno, chequea:

• Propiedades del DataCombo1:

BoundColumn=Nombre del Campo
DataField=Nombre del Campo
ListField=Nombre del Campo que presentará el DataCombo

• Codigo:

Código vb:
Ver original
  1. Private Sub Form_Load()
  2.     Cargar
  3.     Presentar_Datos
  4. End Sub
  5.  
  6. Private Sub Cargar()
  7.     On Error Resume Next
  8.    
  9.     Dim rstUNIDADES As ADODB.Recordset
  10.     Set rstUNIDADES = New ADODB.Recordset
  11.  
  12.     With rstUNIDADES
  13.         .ActiveConnection = CONEXION
  14.         .Open "select unidades(selctunidadmaest) as dtc1 from unidades"
  15.     End With
  16.  
  17.     Set DataCombo1.RowSource = rstUNIDADES
  18.  
  19.     IF rstUNIDADES.STATE=1 THEN rstUNIDADES.CLOSE
  20.     Set rstUNIDADES = Nothing
  21. End Sub
  22.  
  23. Private Sub Presentar_Datos()
  24.     coef.Text = "1 " & DataCombo1.BoundText  & " = " & relauni(1).Text & " " & Text1(0).Text
  25. End Sub

Lo mas sencillo es usar un Combo normal y cargarlo asi:

Código vb:
Ver original
  1. Dim rstUNIDADES As ADODB.Recordset
  2.     Set rstUNIDADES = New ADODB.Recordset
  3.  
  4.     With rstUNIDADES
  5.         .ActiveConnection = CONEXION
  6.         .Open "select unidades(selctunidadmaest) as dtc1 from unidades"
  7.     End With
  8.  
  9.    cboNormal.Clear
  10.  
  11.    If rstUNIDADES.EOF = False Then
  12.       Do While rstUNIDADES.EOF = False
  13.          cboNormal.AddItem rstUNIDADES!DTC1
  14.          rstUNIDADES.MoveNext
  15.          DoEvents
  16.       Loop
  17.    Else
  18.       cboNormal.AddItem "No hay datos"
  19.    End if

Etiquetas: access, basic, muestra, quiero, tabla
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 20:33.