Visual Basic - Ayuda con aplicacion

Life is soft - evento anual de software empresarial
 
Vista:

Ayuda con aplicacion

Publicado por raymundo (22 intervenciones) el 06/08/2005 23:32:17
este es el codigo que utilizo para agregar un producto a mi bd pero no se por que no lo muestra al instante, solo aparece cunado agrego otro o agrego uno mas del mismo tipo no se qu esta pasando si alguien puede ayudarme este es el codigo que utilizo de verdad le eh buscado y nada no se me ocurre que pueda ser gracias de ante mano

Private Sub List1_Click()
Dim colst As ADODB.Connection
Dim relst As ADODB.Recordset
Dim cnlist As ADODB.Connection
Dim relicor As ADODB.Recordset
search = List1.Text
'------------abre la conexion para los licores----------
Set cnlist = New ADODB.Connection
cnlist.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\E-BAR.mdb;" & _
"Persist Security Info=False"
Set relicor = New ADODB.Recordset
relicor.CursorLocation = adUseClient
relicor.Open "SELECT * FROM Licores WHERE NombreLicor='" & search & "'", cnlist, adOpenDynamic, adLockPessimistic
'------------------------------------------------------------------------------------------}
Set colst = New ADODB.Connection
colst.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\E-BAR.mdb;" & _
"Persist Security Info=False"
Set relst = New ADODB.Recordset
relst.CursorLocation = adUseClient
relst.Open "SELECT * FROM Ventas WHERE Descripcion='" & search & "'", colst, adOpenDynamic, adLockPessimistic
'---------------------------------------------------------------------------------------------------------------

'---------------------------------------------------------------------------------------------
If (txtmesero.Text = "" Or txtmesa.Text = "") Then
mensaje = MsgBox("Debe Asignar una Mesa o un Mesero Primero", vbCritical)
Exit Sub
Else
If Not (relicor.BOF Or relicor.EOF) Then
'Call checar
If relicor!Cantidad <> 0 Then
If (relst.RecordCount <> 0) Then
'Call checar
relst!Cantidad = relst!Cantidad + 1
relst.Update
relicor!Cantidad = relicor!Cantidad - 1
relicor.Update
Else
relst.AddNew
'Call checar
relst!Mesa = txtmesa
relst!Cantidad = 1
relst!Descripcion = relicor!Nombrelicor
relst!Precio = relicor!Precio
relst!Fecha = Date
relst!Usuario = txtmesero.Text
relst.Update
relicor!Cantidad = relicor!Cantidad - 1
relicor.Update
End If
ElseIf (relicor!Cantidad = 0) Then
mensaje = MsgBox("No hay más" + search + " en Stock", vbCritical)
Exit Sub
End If
End If
End If
relicor.Close
relst.Close
Call mostrar(Me.txtmesa.Text)
End Sub
----------------------------------------------------------------------------------------------------------------------------
Sub mostrar(mes As String)
Dim cnVista As ADODB.Connection
Dim reVista As ADODB.Recordset

Set cnVista = New ADODB.Connection
cnVista.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\E-BAR.mdb;" & _
"Persist Security Info=False"
Set reVista = New ADODB.Recordset
reVista.CursorLocation = adUseClient
reVista.Open "SELECT * FROM Ventas where Mesa=" & mes, cnVista, adOpenDynamic, adLockOptimistic, adCmdText
Set Me.DataGrid1.DataSource = reVista
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con aplicacion

Publicado por Phulzare (2 intervenciones) el 09/08/2005 18:17:06
Mira lo que debes de hacer es que despues que actualizas en la base de datos debes de volver a hacer la consulta y refrescar el ado pues esta cargado con los datos de la consulta anterior, solo debes de actualizar el ado y con eso debes de solucionar el problema.

Puede ser que el problema se deba a como esta la base de datos, que tarda en actualizarse, lo que podrias hacer si este es tu caso es que despues que actualizas puedes hacer dos UPDATE o bien 2 SELECT con esto es mas que suficiente para que se actualize y refresque la base de datos, no es lo mas recomendable pero te sacara del apuro.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar