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

[SOLUCIONADO] clases con ADO

Estas en el tema de clases con ADO en el foro de Visual Basic clásico en Foros del Web. hola a todos tengo el sgte problema en los modificar y en los listar con datagrid: CÓDIGO EN EL MÓDULO DE CLASE: Public Function modificararticulo(ByVal ...
  #1 (permalink)  
Antiguo 22/12/2011, 15:49
Avatar de detective_jd  
Fecha de Ingreso: abril-2011
Ubicación: Salto
Mensajes: 437
Antigüedad: 13 años
Puntos: 6
clases con ADO

hola a todos tengo el sgte problema en los modificar y en los listar con datagrid:

CÓDIGO EN EL MÓDULO DE CLASE:

Public Function modificararticulo(ByVal xnumero As Integer, xnombre As String, xprecio As Single, xcant As Integer)
Set rstarticulos = cnnADODB.Execute("Update articulos set nombrearticulo='" & xnombre & "',precioarticulo='" & xprecio & "',cantidadstock='" & xcant & "' where codigoarticulo = " & xnumero & "")
End Function

Public Sub cargardgdarticulos(ByVal dgd As DataGrid, ByVal xtextbox As String)
Set rstarticulos = cnnADODB.Execute("select * from articulos where nombrearticulo like '" & xtextbox & "%' order by nombrearticulo")
Set dgd.DataSource = rstarticulos
End Sub

CÓDIGO EN LOS FORMULARIOS:

frmarticulos:

objarticulos.cargardgdarticulos(ME.dgdarticulos ,ME.txtbuscararticulo.Text )

frmAMarticulos:

Private Sub cmdguardarcambios_Click()
If Me.txtnombrearticulo.Text = "" Then
MsgBox ("INGRESE EL NOMBRE DEL ARTÍCULO")
ElseIf Me.txtprecioarticulo.Text = "" Or Not IsNumeric(Me.txtprecioarticulo.Text) Then
MsgBox ("ASEGURESE DE INGRESAR BIEN EL PRECIO DEL ARTÍCULO")
ElseIf Me.txtcantidadstock.Text = "" Or Not IsNumeric(Me.txtcantidadstock.Text) Then
MsgBox ("ASEGURESE DE INGRESAR BIEN LA CANTIDAD DE STOCK DEL ARTÍCULO")
Else
If ACCION = "Modificar" Then
objarticulos.modificararticulo(Me.txtcodigoarticul o.Text, Me.txtnombrearticulo.Text, Me.txtprecioarticulo.Text, Me.txtcantidadstock.Text)
Call cmdvolver_Click
ElseIf ACCION = "Guardar" Then
If objarticulos.guardararticulo(Me.txtcodigoarticulo. Text, Me.txtnombrearticulo.Text, Me.txtprecioarticulo.Text, Me.txtcantidadstock.Text) = False Then
MsgBox ("El Artículo ya existe")
Me.txtnombrearticulo.Text = ""
Me.txtnombrearticulo.SetFocus
Else
Call cmdvolver_Click
End If
End If
End If
End Sub

y cuando pongo los métodos en los formularios me sale el error:

Se esperaba=

la verdad no sé que hacer, sí me pueden ayudar se los agradezco.
  #2 (permalink)  
Antiguo 25/12/2011, 15:10
Avatar de detective_jd  
Fecha de Ingreso: abril-2011
Ubicación: Salto
Mensajes: 437
Antigüedad: 13 años
Puntos: 6
Respuesta: clases con ADO

Por favor necesito ayuda para resolver esto la idea de esto es hacer lo mismo de vb.net en vb 6.0, les parece díficil resolver esto????
  #3 (permalink)  
Antiguo 27/12/2011, 15:51
Avatar de Kruzado  
Fecha de Ingreso: marzo-2007
Mensajes: 307
Antigüedad: 17 años, 1 mes
Puntos: 17
Respuesta: clases con ADO

no se si tesirva todavia, pero por si acaso....

If ACCION = "Modificar" Then
objarticulos.modificararticulo(Me.txtcodigoarticul o.Text, Me.txtnombrearticulo.Text, Me.txtprecioarticulo.Text, Me.txtcantidadstock.Text)

objarticulos.modificararticulo es una funcion, esta declarado como funcion,entonces para llamarlo,tienes queasignarle el resultado a una variable, ejemplo xxx=objarticulos.modificararticulo(Me.txtcodigoart icul o.Text, Me.txtnombrearticulo.Text, Me.txtprecioarticulo.Text, Me.txtcantidadstock.Text)

mas abajo en tu codigo preguntas si el resultado de la funciones false, pero dentro de la funcion en ninguna parte defines su estado... no se... revisa esas cosas y nos cuentas, quizas tambien cuando preguntes debas poner enque parte del codigo te marca el error, saludos
  #4 (permalink)  
Antiguo 28/12/2011, 11:02
Avatar de detective_jd  
Fecha de Ingreso: abril-2011
Ubicación: Salto
Mensajes: 437
Antigüedad: 13 años
Puntos: 6
Respuesta: clases con ADO

hola Kruzado, gracias x responder, solucioné el problema el modificar está cómo procedimiento o sea sub:

Public Sub modificararticulo(ByVal xnumero As Integer, ByVal xnombre As String, ByVal xprecio As Single, ByVal xcant As Integer)
Set rstarticulos = cnnADODB.Execute("Update articulos set nombrearticulo='" & xnombre & "',precioarticulo='" & xprecio & "',cantidadstock='" & xcant & "' where codigoarticulo = " & xnumero & "")
End Sub

o sea en el formulario se declara así:

If ACCION = "Modificar" Then
objarticulos.modificararticulo Me.txtcodigoarticulo.Text, Me.txtnombrearticulo.Text, Me.txtprecioarticulo.Text, Me.txtcantidadstock.Text

lo mismo pasa con el mostrar es un procedimiento:

Public Sub cargardgdarticulos(ByVal dgd As DataGrid, ByVal xtextbox As String)
Set rstarticulos = cnnADODB.Execute("select * from articulos where nombrearticulo like '" & xtextbox & "%' order by nombrearticulo")
Set dgd.DataSource = rstarticulos
Call diseñardgdarticulos(dgd)
End Sub

por lo tanto en el formulario:

objarticulos.cargardgdarticulos Me.dgdarticulos, Me.txtbuscararticulo.Text

Como en vb.net uso clases pensé q en vb 6.0 también podía y puse a investigar y está pronto.
Gracias x tu ayuda.

Etiquetas: ado, clases
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 02:43.