Insertar registros desde Visual Basic

13/08/2012 - 13:05 por Toni | Informe spam
Buenos dias,

Intento insertar un registro en una tabla de Acces 2007 desde Visual Basic 6.3, con la siguiente instrucción, pero me da un error '424', requeriendo un objeto.

Dim sSQL As String
Dim bRevMant As Byte

sSQL = "(INSERT INTO Index (IdActivitat,NomActivitat,DataFoliExpedient,IdTipusPermis)VALUES ("
sSQL = sSQL & IdActivitat & ", "
sSQL = sSQL & NomActivitat & ", "
sSQL = sSQL & Forms![Manteniment01]![DataManteniment01] & ", "

If MarcReviAct = 0 Then
bRevMant = 40
Else
bRevMant = 46
End If

sSQL = sSQL & bRevMant & ") "

dbcon.Execute sSQL

El error debe estar en la última línea, he copiado el còdigo de webs que pueden hacer referència a otras versiones de Acces o de VB. Qué opinas?

Gràcias de antemano.
Toni

Preguntas similare

Leer las respuestas

#1 Toni
13/08/2012 - 13:50 | Informe spam
he leido alguna cosa sobre la necesidad de estar conectado a la base de datos, o a la tabla, no lo entendí bien. En todo caso, explicito que estoy utilizando una aplicación vinculada a una base de datos.

Muchas gracias.
Toni


On Monday, August 13, 2012 1:05:57 PM UTC+2, Toni wrote:
Buenos dias,



Intento insertar un registro en una tabla de Acces 2007 desde Visual Basic 6.3, con la siguiente instrucción, pero me da un error '424', requeriendo un objeto.



Dim sSQL As String

Dim bRevMant As Byte



sSQL = "(INSERT INTO Index (IdActivitat,NomActivitat,DataFoliExpedient,IdTipusPermis)VALUES ("

sSQL = sSQL & IdActivitat & ", "

sSQL = sSQL & NomActivitat & ", "

sSQL = sSQL & Forms![Manteniment01]![DataManteniment01] & ", "



If MarcReviAct = 0 Then

bRevMant = 40

Else

bRevMant = 46

End If



sSQL = sSQL & bRevMant & ") "



dbcon.Execute sSQL



El error debe estar en la última línea, he copiado el còdigo de webs que pueden hacer referència a otras versiones de Acces o de VB. Qué opinas?



Gràcias de antemano.

Toni
Respuesta Responder a este mensaje
#2 Emilio
13/08/2012 - 16:01 | Informe spam
¡Importante!: Colabora con el grupo.Contesta a este mensaje y dinos si te
sirvió o no la respuesta dada. Muchas gracias
Hola!
¿Qué formato de archivo utilizas?, Si es accdb Visual Basic no lo reconoce,
había muerto antes de nacer Access 2007.

Saludos a todos desde Huelva

Emilio [MS-MVP Access 2006/11]
http://www.mvp-access.com/foro
http://www.mvp-access.es/emilio
"Toni" escribió en el mensaje de
noticias:

he leido alguna cosa sobre la necesidad de estar conectado a la base de
datos, o a la tabla, no lo entendí bien. En todo caso, explicito que estoy
utilizando una aplicación vinculada a una base de datos.

Muchas gracias.
Toni


On Monday, August 13, 2012 1:05:57 PM UTC+2, Toni wrote:
Buenos dias,



Intento insertar un registro en una tabla de Acces 2007 desde Visual Basic
6.3, con la siguiente instrucción, pero me da un error '424', requeriendo
un objeto.



Dim sSQL As String

Dim bRevMant As Byte



sSQL = "(INSERT INTO Index
(IdActivitat,NomActivitat,DataFoliExpedient,IdTipusPermis)VALUES ("

sSQL = sSQL & IdActivitat & ", "

sSQL = sSQL & NomActivitat & ", "

sSQL = sSQL & Forms![Manteniment01]![DataManteniment01] & ", "



If MarcReviAct = 0 Then

bRevMant = 40

Else

bRevMant = 46

End If



sSQL = sSQL & bRevMant & ") "



dbcon.Execute sSQL



El error debe estar en la última línea, he copiado el còdigo de webs que
pueden hacer referència a otras versiones de Acces o de VB. Qué opinas?



Gràcias de antemano.

Toni
Respuesta Responder a este mensaje
#3 Toni
14/08/2012 - 08:31 | Informe spam
Buenos dias, Emilio

Trabajo con Acces 2007 i VB versión 6.3, desde una aplicación que lee una base de datos vinculada.

Como te comenté, por Internet he encontrado varias versiones de esta orden: DoCmd.Execute, con.Execute, dbcon.Execute otras me hablan de conectarme antes a la base de datos...

Lo cierto es que estoy dando palos de ciego, pues no encuentro por la red nada suficientemente claro para el nivel de mis conocimientos en VB, que és bastante bajo.

Gracias de antemano.
Toni


On Monday, August 13, 2012 4:01:34 PM UTC+2, Emilio wrote:

¡Importante!: Colabora con el grupo.Contesta a este mensaje y dinos si te

sirvió o no la respuesta dada. Muchas gracias


Hola!

¿Qué formato de archivo utilizas?, Si es accdb Visual Basic no lo reconoce,

había muerto antes de nacer Access 2007.



Saludos a todos desde Huelva



Emilio [MS-MVP Access 2006/11]

http://www.mvp-access.com/foro

http://www.mvp-access.es/emilio

"Toni" escribió en el mensaje de

noticias:



he leido alguna cosa sobre la necesidad de estar conectado a la base de

datos, o a la tabla, no lo entendí bien. En todo caso, explicito que estoy

utilizando una aplicación vinculada a una base de datos.



Muchas gracias.

Toni





On Monday, August 13, 2012 1:05:57 PM UTC+2, Toni wrote:

> Buenos dias,

>

>

>

> Intento insertar un registro en una tabla de Acces 2007 desde Visual Basic

> 6.3, con la siguiente instrucción, pero me da un error '424', requeriendo

> un objeto.

>

>

>

> Dim sSQL As String

>

> Dim bRevMant As Byte

>

>

>

> sSQL = "(INSERT INTO Index

> (IdActivitat,NomActivitat,DataFoliExpedient,IdTipusPermis)VALUES ("

>

> sSQL = sSQL & IdActivitat & ", "

>

> sSQL = sSQL & NomActivitat & ", "

>

> sSQL = sSQL & Forms![Manteniment01]![DataManteniment01] & ", "

>

>

>

> If MarcReviAct = 0 Then

>

> bRevMant = 40

>

> Else

>

> bRevMant = 46

>

> End If

>

>

>

> sSQL = sSQL & bRevMant & ") "

>

>

>

> dbcon.Execute sSQL

>

>

>

> El error debe estar en la última línea, he copiado el còdigo de webs que

> pueden hacer referència a otras versiones de Acces o de VB. Qué opinas?

>

>

>

> Gràcias de antemano.

>

> Toni
Respuesta Responder a este mensaje
#4 Toni
14/08/2012 - 08:35 | Informe spam
Buenos dias, Emilio

Trabajo con Acces 2007 i VB versión 6.3, desde una aplicación que lee una base de datos vinculada.

Como te comenté, por Internet he encontrado varias versiones de esta orden: DoCmd.Execute, con.Execute, dbcon.Execute otras me hablan de conectarme antes a la base de datos...

Lo cierto es que estoy dando palos de ciego, pues no encuentro por la red nada suficientemente claro para el nivel de mis conocimientos en VB, que es claramente insuficiente.

Gracias de antemano.
Toni On Monday, August 13, 2012 4:01:34 PM UTC+2, Emilio wrote:

¡Importante!: Colabora con el grupo.Contesta a este mensaje y dinos si te

sirvió o no la respuesta dada. Muchas gracias


Hola!

¿Qué formato de archivo utilizas?, Si es accdb Visual Basic no lo reconoce,

había muerto antes de nacer Access 2007.



Saludos a todos desde Huelva



Emilio [MS-MVP Access 2006/11]

http://www.mvp-access.com/foro

http://www.mvp-access.es/emilio

"Toni" escribió en el mensaje de

noticias:



he leido alguna cosa sobre la necesidad de estar conectado a la base de

datos, o a la tabla, no lo entendí bien. En todo caso, explicito que estoy

utilizando una aplicación vinculada a una base de datos.



Muchas gracias.

Toni





On Monday, August 13, 2012 1:05:57 PM UTC+2, Toni wrote:

> Buenos dias,

>

>

>

> Intento insertar un registro en una tabla de Acces 2007 desde Visual Basic

> 6.3, con la siguiente instrucción, pero me da un error '424', requeriendo

> un objeto.

>

>

>

> Dim sSQL As String

>

> Dim bRevMant As Byte

>

>

>

> sSQL = "(INSERT INTO Index

> (IdActivitat,NomActivitat,DataFoliExpedient,IdTipusPermis)VALUES ("

>

> sSQL = sSQL & IdActivitat & ", "

>

> sSQL = sSQL & NomActivitat & ", "

>

> sSQL = sSQL & Forms![Manteniment01]![DataManteniment01] & ", "

>

>

>

> If MarcReviAct = 0 Then

>

> bRevMant = 40

>

> Else

>

> bRevMant = 46

>

> End If

>

>

>

> sSQL = sSQL & bRevMant & ") "

>

>

>

> dbcon.Execute sSQL

>

>

>

> El error debe estar en la última línea, he copiado el còdigo de webs que

> pueden hacer referència a otras versiones de Acces o de VB. Qué opinas?

>

>

>

> Gràcias de antemano.

>

> Toni
Respuesta Responder a este mensaje
#5 Toni
14/08/2012 - 13:15 | Informe spam
Emilio, conseguí algunos adelantos:

Dim sSQL As String
Dim bRevMant As Byte

sSQL = "(INSERT INTO Index (IdActivitat,NomActivitat,DataFoliExpedient,IdTipusPermis)VALUES ("
sSQL = sSQL & IdActivitat & ", "
sSQL = sSQL & "'" & UltimNom & "', "
sSQL = sSQL & Forms![Manteniment01]![DataManteniment01] & ", "

If MarcReviAct = 0 Then
bRevMant = 64
Else
bRevMant = 65
End If

sSQL = sSQL & bRevMant & ") "

DoCmd.RunSQL (sSQL)

El caso es que ahora me da un error 3075, creo que debido al formato del campo de fecha, que se encuentra en Forms![Manteniment01]![DataManteniment01]. Que significa este error, y como puedo solucionarlo para poder insertar el registro?

Gracias.
Toni


On Monday, August 13, 2012 4:01:34 PM UTC+2, Emilio wrote:

¡Importante!: Colabora con el grupo.Contesta a este mensaje y dinos si te

sirvió o no la respuesta dada. Muchas gracias


Hola!

¿Qué formato de archivo utilizas?, Si es accdb Visual Basic no lo reconoce,

había muerto antes de nacer Access 2007.



Saludos a todos desde Huelva



Emilio [MS-MVP Access 2006/11]

http://www.mvp-access.com/foro

http://www.mvp-access.es/emilio

"Toni" escribió en el mensaje de

noticias:



he leido alguna cosa sobre la necesidad de estar conectado a la base de

datos, o a la tabla, no lo entendí bien. En todo caso, explicito que estoy

utilizando una aplicación vinculada a una base de datos.



Muchas gracias.

Toni





On Monday, August 13, 2012 1:05:57 PM UTC+2, Toni wrote:

> Buenos dias,

>

>

>

> Intento insertar un registro en una tabla de Acces 2007 desde Visual Basic

> 6.3, con la siguiente instrucción, pero me da un error '424', requeriendo

> un objeto.

>

>

>

> Dim sSQL As String

>

> Dim bRevMant As Byte

>

>

>

> sSQL = "(INSERT INTO Index

> (IdActivitat,NomActivitat,DataFoliExpedient,IdTipusPermis)VALUES ("

>

> sSQL = sSQL & IdActivitat & ", "

>

> sSQL = sSQL & NomActivitat & ", "

>

> sSQL = sSQL & Forms![Manteniment01]![DataManteniment01] & ", "

>

>

>

> If MarcReviAct = 0 Then

>

> bRevMant = 40

>

> Else

>

> bRevMant = 46

>

> End If

>

>

>

> sSQL = sSQL & bRevMant & ") "

>

>

>

> dbcon.Execute sSQL

>

>

>

> El error debe estar en la última línea, he copiado el còdigo de webs que

> pueden hacer referència a otras versiones de Acces o de VB. Qué opinas?

>

>

>

> Gràcias de antemano.

>

> Toni
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida