Foros del Web » Programación para mayores de 30 ;) » Programación General »

no se visualiza bien (VB6)

Estas en el tema de no se visualiza bien (VB6) en el foro de Programación General en Foros del Web. Hechen un ojo este codigo........... Private Sub txtCodigo_KeyPress(Keyascii As Integer) Dim porCien As Double Dim elemento As ListItem Dim dblNum As Double Dim codProd As ...
  #1 (permalink)  
Antiguo 03/06/2004, 12:56
 
Fecha de Ingreso: marzo-2003
Mensajes: 54
Antigüedad: 21 años, 1 mes
Puntos: 0
no se visualiza bien (VB6)

Hechen un ojo este codigo...........


Private Sub txtCodigo_KeyPress(Keyascii As Integer)

Dim porCien As Double
Dim elemento As ListItem
Dim dblNum As Double
Dim codProd As String
Dim nomProd As String
Dim precioProd As String
Dim cantProd As Integer

Set db = New ADODB.Connection
Set rs = New ADODB.Recordset
If Keyascii = 13 Then 'vbKeyReturn

db.ConnectionString = _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & sPathBase & ";"
db.Open sPathBase
'sql = "SELECT cod,producto,precio FROM " & idioma & " where cod like '" & txtCod.Text & "'"
sql = "SELECT cod,producto,precio FROM ESP where cod like '" & txtCodigo.Text & "'"
Set rs = db.Execute(sql)

If rs.BOF = True And rs.EOF = True Then
'Si no hay codigo de plato
MsgBox "Wala ang kodigo mong ipinasok.Seguraduhin mong tama.!", vbOKOnly, "Kodigo Spanish!"
txtCodigo.Text = "" 'limpiamos campo
Else
'Asignamos datos a variables
cantProd = InputBox("Ilan ang plato??", "Ilang ang plato??", 1)
codProd = rs.Fields("cod")
nomProd = rs.Fields("producto")
precioProd = rs.Fields("precio") 'No es necesario
sql = ""
'Miramos si ya han pedido
sql = "Select idMesa,idProducto,cantidad,idioma from Mesa where idMesa=" & txtMesa.Text & " and idProducto=" & txtCodigo.Text & ""
Set rs = db.Execute(sql)
'si no ha pedido ya
If rs.BOF = True And rs.EOF = True Then
sql = ""
sql = "Insert into Mesa (idMesa,idProducto,cantidad,idioma) values('" & numMesa & "','" & codProd & "','" & cantProd & "','" & idioma & "')"
Set rs = db.Execute(sql)
Else ' si ya han pedido hacemos update
sql = ""
cantProd = cantProd + rs.Fields("cantidad")
sql = "UPDATE Mesa set cantidad=" & cantProd & ""
sql = sql & " Where idMesa=" & txtMesa.Text & " and idProducto=" & codProd & ""
Set rs = db.Execute(sql)
End If
txtCodigo.Text = ""
Refresh 'No sirve
End If
Keyascii = 0 ' No pita
verDatosMesa factESP 'Llamo funcion para visualizar todos los platos que han pedido
Refresh
End If
Refresh
verDatosMesa factESP
End Sub


La funcion verDatosMesa -> hace un listado de lo que hay en la tablaMesa.

Pero lo que pasa en este codigo e q cuando se insierta el plato no se visualiza hasta el siguiente plato q agrego

es decir .....si agrego el codigo 1 no se visulizara hasta q no inserte otro plato.

Y el segundo no se visualizara hasta q se inserte el 3º
El problema es como si no hiciera un refresh.No se si el refresh es la mejor solucion....je je.
Simplemente el problema es al visualizar los datos lo que agrego.

Muchas gracias..
Ayuda por favor llevo toda la tarde intentando buscar informacion en el MSDN
  #2 (permalink)  
Antiguo 03/06/2004, 16:45
Avatar de Avelar  
Fecha de Ingreso: noviembre-2002
Ubicación: Ensenada, Baja California, México
Mensajes: 673
Antigüedad: 21 años, 5 meses
Puntos: 1
¿Y te has fijado si en la función verDatosMesa no hay alguna condición que haga que no se ejecute el código? Algún If que mande un Exit Sub...
__________________
Ariel Avelar
  #3 (permalink)  
Antiguo 03/06/2004, 20:29
 
Fecha de Ingreso: junio-2004
Mensajes: 35
Antigüedad: 19 años, 10 meses
Puntos: 0
estructura

Hola.
Puede ser esa una causa, pero lo que yo haría sería reestructurar mejor el código para que puedas encontrar el error.
Sacaría la conexión a parte y las actualizaciones en la DB, las haría en la DB, usando sp,
ahora también podrías crear un sp que te devuelva la información.
así se vería mejor codificado.
  #4 (permalink)  
Antiguo 04/06/2004, 06:09
 
Fecha de Ingreso: marzo-2003
Mensajes: 54
Antigüedad: 21 años, 1 mes
Puntos: 0
todo desglosado... y funciona y pasa bien por todas las funciones ....es lo que iba a hacer en cuanto funcionara acabe
El problema es que cuando hago inspeccion rapida es decir marcando F9 a partir donde quiero realizar el paso a paso con el F8.. me seguis???
Pues lo visualiza bien todo correcto pero en la ejecucion normal del programa no lo hace.Es como si lo cargara en el cache.....vamos eso creo.

Mildred que quieres decir con usar sp??? :)
  #5 (permalink)  
Antiguo 04/06/2004, 08:39
 
Fecha de Ingreso: marzo-2003
Mensajes: 54
Antigüedad: 21 años, 1 mes
Puntos: 0
puede ser que sea por el update??? q necesita unas milesimas de segundo en actualizarse???
Es que en una funcion hago un update sumando la cantidad de plato y luego lo vuelvo a hacer un select en donde mesa=X_numero en lo cual lo vuelvo a listar en un listview.

Es la unica teoria q tengo.Por que poniedo msgbox en diferentes puntos funciona correctamente......

S.O.S plz :D
  #6 (permalink)  
Antiguo 04/06/2004, 14:06
 
Fecha de Ingreso: marzo-2003
Mensajes: 54
Antigüedad: 21 años, 1 mes
Puntos: 0
Mirar este codigo................esta dentro de un else y entra perfectamente

sql = ""
cantProd = cantProd + rs.Fields("cantidad")
sql = "UPDATE Mesa set cantidad=" & cantProd & ""
sql = sql & " Where idMesa=" & txtMesa.Text & " and idProducto=" & codProd & ""
'ConectarBd db, rs, sql
'MsgBox sql
Set rs = db.Execute(sql)
sql = ""
'sql = "Select cantidad from mesa where idMesa=" & txtMesa.Text & " and idProducto=" & codProd & ""
'Set rs = db.Execute(sql)

'MsgBox rs.Fields("cantidad")
txtCodigo.Text = "" 'limpio

verDatosMesa factESP 'visualizo
Exit Sub 'salgo
----------------------------
Pues despues del update haciendo un select si que me visualiza perfectamente los campos.Este select no lo utilizo para nada...Simplemente hice una prueba para ver si era problema de la ejecucion al hacer el update...si lo quito no lo visualiza no se si me seguis..
gracia.....:((((
  #7 (permalink)  
Antiguo 15/06/2004, 17:48
 
Fecha de Ingreso: marzo-2003
Mensajes: 54
Antigüedad: 21 años, 1 mes
Puntos: 0
solventado......
si saco la funcion verdatosMesa del sub funciona como debe ser

juajuajuass......gracias x los intentos
:D
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 13:03.