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

Escribir en una BS access (error 91)

Estas en el tema de Escribir en una BS access (error 91) en el foro de Visual Basic clásico en Foros del Web. Hola foreros, y ante todo gracias por leer mi mensaje. Ire directamente al grano para no perder tiempo. Estoy diseñando una aplicación que introduce datos ...
  #1 (permalink)  
Antiguo 18/04/2007, 06:29
 
Fecha de Ingreso: enero-2005
Ubicación: Canarias, España
Mensajes: 217
Antigüedad: 19 años, 3 meses
Puntos: 0
Escribir en una BS access (error 91)

Hola foreros, y ante todo gracias por leer mi mensaje. Ire directamente al grano para no perder tiempo.

Estoy diseñando una aplicación que introduce datos en una BD de access (no es 97), para ello uso un data el cual relaciono con la BD mediante código al iniciar la aplicación, para así ahorrarme problemas de rutas.

El problema viene cuando intento introducir datos en la BD. El codigo que uso es el siguiente:

Código:
Private Sub cmañadir_Click()
Data1.RecordSource = "Select * from reparaciones"
        With Data1.Recordset
        .AddNew
            !Fecha = txtfecha.Text
            !Nombre = txtnombre.Text
            !Kms = txtkms.Text
            !Matricula = txtmatricula.Text
            !Modelo = txtmodelo.Text
            !Reparaciones = txtreparaciones.Text
            !Importe = txtimporte.Text
            .Update
       End With
End Sub
Al probarlo me salta un error 91: Variable de tipo Object o la variable de bloque with no esta establecida.

Y la verdad no se como solucionarlo ya que es la primera vez que realizo una BD en visual basic y por mucho que he buscado por Internet no he encontrado un ejemplo claro y sencillo por lo que me encuentro perdido ahora mismo.

Desde ya mil gracias por vuestra ayuda y un abrazo muy fuerte
__________________
Solo hay algo seguro: la infinita inseguridad de la seguridad.
  #2 (permalink)  
Antiguo 19/04/2007, 23:13
 
Fecha de Ingreso: abril-2004
Mensajes: 192
Antigüedad: 20 años
Puntos: 0
Re: Escribir en una BS access (error 91)

Hola, probá haciendo un refresh antes de ejecutar el AddNew


Código:
Data1.RecordSource = "Select * from reparaciones"
        
        Data1.Refresh
        
        With Data1.Recordset
        
        .AddNew
            !Fecha = txtfecha.Text
            !Nombre = txtnombre.Text
            !Kms = txtkms.Text
            !Matricula = txtmatricula.Text
            !Modelo = txtmodelo.Text
            !Reparaciones = txtreparaciones.Text
            !Importe = txtimporte.Text
            .Update
       End With


-------------
__________________
Recursos visual basic
  #3 (permalink)  
Antiguo 20/04/2007, 14:46
 
Fecha de Ingreso: enero-2005
Ubicación: Canarias, España
Mensajes: 217
Antigüedad: 19 años, 3 meses
Puntos: 0
Re: Escribir en una BS access (error 91)

Gracias por tu respuesta Luciano, lo he probado pero por desgracia me hace una cosa muy extraña, me blanquea al completo el formulario, introduciéndome en la BD un registro nuevo totalmente en blanco.

Por suerte he encontrado la forma de hacerlo mediante un ADO y con el si me funciona a las mil maravillas.

Ahora el problema me ha surgido en otra conexión distinta, y es un problema bastante mas extraño para mi.

Tengo creado otro formulario, que se encargara de hacer una búsqueda en la BD mediante una conexión ADO, esta búsqueda puede ser por nombre, matricula o fecha, y debería mostrar todos los resultados en una lista ordenados por fecha.

hasta ahora he escrito el siguiente código:

Código:
Private Sub cmBusc_Click()

If bucom.ListIndex = 2 Then
    tip = "Nombre"
Else
    If bucom.ListIndex = 0 Then
        tip = "fecha"
    Else
        If bucom.ListIndex = 1 Then
            tip = "Matricula"
        End If
    End If
End If

Adoreparaciones.RecordSource = "Select * from reparaciones where " & tip & " = " & txtbusqueda.Text
        Adoreparaciones.Refresh
        With Adoreparaciones.Recordset
            'si no encontro, lanza el mensaje
            If .RecordCount = 0 Then
                MsgBox "No se encuentran resultados para esta busqueda.", vbInformation, "informacion"
                Exit Sub
            Else
            'Si encontro, muestra la fecha en una lista
                listresul.Text = listresul.Text & !fecha
            End If
        End With
End Sub
El problema es que me da el siguiente error:"no se han especificado valores para alguno de los parámetros requeridos"

Error en el método "refresh" del objeto "IAdodc"

no tengo ni idea de como solucionarlo, y si quito el refresh me salta con que la variable de tipo object o la variable del bloque with no esta establecida.

Agradezco tu ayuda y cualquiera que pueda sacarme de este embrollo Xd

mil gracias
__________________
Solo hay algo seguro: la infinita inseguridad de la seguridad.

Última edición por swaze; 24/04/2007 a las 18:24
  #4 (permalink)  
Antiguo 23/01/2009, 18:22
 
Fecha de Ingreso: enero-2009
Mensajes: 1
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Re: Escribir en una BS access (error 91)

Adoreparaciones.RecordSource = "Select * from reparaciones where " & tip & " = '" & txtbusqueda.Text & "'"

BUENO amigo faltaban solo las comillas simples, espero funcione...
  #5 (permalink)  
Antiguo 23/01/2009, 19:10
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Respuesta: Escribir en una BS access (error 91)

el post tiene 2 años no creo que este esperando la respuesta todavia...
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
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 09:24.