Error '3251'
Loic_7447
Mensajes publicados
32
Fecha de registro
Estado
Miembro
Última intervención
-
f894009 Mensajes publicados 17417 Fecha de registro Estado Miembro Última intervención -
f894009 Mensajes publicados 17417 Fecha de registro Estado Miembro Última intervención -
Hola a todos,
He creado un formulario para añadir líneas a una tabla de mi BBD.
Entre estas líneas, hay un campo "Proveedor".
Deseo que cuando alguien ingrese en este campo un proveedor que aún no existe en la BBD, se le dirija a otro formulario para introducir la información de este nuevo proveedor.
Para ello, he escrito este código (integrado en el código principal del formulario):
Pequeño problema, me muestra el mensaje: "Error de ejecución '3251': operación no autorizada para este tipo de objeto."
El depurador me indica la línea 2 (
Aquí está el código completo:
Espero que puedan ayudarme a resolver este problema!
He creado un formulario para añadir líneas a una tabla de mi BBD.
Entre estas líneas, hay un campo "Proveedor".
Deseo que cuando alguien ingrese en este campo un proveedor que aún no existe en la BBD, se le dirija a otro formulario para introducir la información de este nuevo proveedor.
Para ello, he escrito este código (integrado en el código principal del formulario):
Set rsref = db.OpenRecordset("tFournisseurs") rsref.FindFirst ("Fournisseur='" + CStr(Me.txt_fournisseur) + "'") If rsref.NoMatch Then MsgBox ("Proveedor no registrado, será dirigido a la página de adición") DoCmd.OpenForm ("fAjout_Fournisseur") End If Pequeño problema, me muestra el mensaje: "Error de ejecución '3251': operación no autorizada para este tipo de objeto."
El depurador me indica la línea 2 (
rsref.findfirst...).
Aquí está el código completo:
Option Compare Database Option Explicit Private Sub btn_ajouter_Click() Dim db As DAO.Database Dim rs As DAO.Recordset Dim rsref As DAO.Recordset Set db = CurrentDb Set rs = db.OpenRecordset("#tStock_recherche") If Me.txt_reference = "" Or Me.txt_fournisseur = "" Or Me.txt_quantité = "" _ Or Me.txt_outil = "" Or Me.txt_secteur = "" Or Me.txt_emplacement = "" Then MsgBox ("Por favor, complete todos los campos") Else rs.AddNew rs!Référence = Me.txt_reference rs!Fournisseur = Me.txt_fournisseur rs!Quantité = Me.txt_quantité rs!Type = Me.txt_outil rs!Secteur = Me.txt_secteur rs!Emplacement = Me.txt_emplacement rs.Update MsgBox ("Referencia añadida con éxito") txt_reference = "" txt_fournisseur = "" txt_quantité = "" txt_outil = "" txt_secteur = "" txt_emplacement = "" End If Set rsref = db.OpenRecordset("tFournisseurs") rsref.FindFirst ("Fournisseur='" + CStr(Me.txt_fournisseur) + "'") If rsref.NoMatch Then MsgBox ("Proveedor no registrado, será dirigido a la página de adición") DoCmd.OpenForm ("fAjout_Fournisseur") End If rs.Close rsref.Close db.Close DoCmd.OpenForm ("#fDétail_outil") Set rs = Nothing Set db = Nothing Set rsref = Nothing End Sub Espero que puedan ayudarme a resolver este problema!
2 respuestas
-
Hola,
He hecho pruebas con su sintaxis, ¡sin errores!
Siguiente:
Tengo el error, pero necesitaría su archivo para confirmar. -
Lo siento, no puedo acceder a enlaces externos.
-
Hola,
¡Eviten poner a "" los cuadros de texto antes de usarlos!
If Me.txt_reference = "" Or Me.txt_fournisseur = "" Or Me.txt_quantité = "" _ Or Me.txt_outil = "" Or Me.txt_secteur = "" Or Me.txt_emplacement = "" Then MsgBox ("Por favor, complete todos los campos") Else rs.AddNew rs!Référence = Me.txt_reference rs!Fournisseur = Me.txt_fournisseur rs!Quantité = Me.txt_quantité rs!Type = Me.txt_outil rs!Secteur = Me.txt_secteur rs!Emplacement = Me.txt_emplacement rs.Update MsgBox ("Referencia añadida con éxito") ' RAZ AQUÍ txt_reference = "" txt_fournisseur = "" txt_quantité = "" txt_outil = "" txt_secteur = "" txt_emplacement = "" End If Set rsref = db.OpenRecordset("tFournisseurs") rsref.FindFirst ("Fournisseur='" + CStr(Me.txt_fournisseur) + "'") 'por lo tanto error
-