Access - Insert into

 
Vista:

Insert into

Publicado por txilibrin (7 intervenciones) el 16/02/2006 15:55:41
Hola, mis compañeros y yo sabemos que para sacar datos de una tabla hace falta:
Dim cnn As Connection
Dim rst As Recordset

Set cnn = CurrentProject.Connection
Set rst = New Recordset

rst.Open "SELECT NombrePromotor FROM PromotoresN WHERE PromotoresN.NombreConvocatoria= '" & Form_IntroducirConvocatorias.NombreConvocatoria & " ' ;", cnn, adOpenStatic, adLockOptimistic

Pero no conseguir insertarlos, ya que en vez de rst.Open no sabemos qué comando es necesario para hacer INSERT INTO, ¿alguna idea?

Gracias
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:Insert into

Publicado por Manuel (268 intervenciones) el 16/02/2006 16:19:45
Esta usado sintaxis y estructura de vb, si lo que deseas hacer es en realidad en VB estas en el foro equivocado, si es en access, pudieras hacerlo con dao, activando claro la referencia correspondiente

dim rst as dao.recordset
set rst = currentdb.openrecordset("PromotoresN")

with rst
.addnew
!nombreconvocatoria = 'los datos que desees agregar
!nombrepromotor= 'los datos que desees agregar
.update
end with

rst.close
set rst = nothing

Esta es la forma mas basica, pudieras tambien abrir el recordset filtrado, para los fines de sacar los datos, pero ya esto te lo dejo a ti.

Saludos
Manuel
Venezuela
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

RE:Insert into

Publicado por Enrique (1299 intervenciones) el 16/02/2006 19:11:48
Tienes un error como mínimo. Observa que en el Select sólo cargas el Campo NombrePromotor pero luego en el Where tratas de comparar el Campo NombreConvocatoria con el Campo del mismo nombre en el Formulario IntroducirConvocatorias, lo que no es posible hacer si antes no lo indicas en el Select.

' Esta dos líneas van en la Sección de Declaraciones
Private cnn As ADODB.Connection
Private rst As ADODB.Recordset
------------------------------------------------------------------------
Private Sub NombreConvocatoria_AfterUpdate() ' Usando este Evento por ejemplo
Set cnn = CurrentProject.Connection
Set rst = New ADODB.Recordset
rst.Open "SELECT NombrePromotor, NombreConvocatoria FROM PromotoresN WHERE NombreConvocatoria ='" & Form_IntroducirConvocatorias.NombreConvocatoria & "'", cnn, adOpenDynamic, adLockOptimistic
Me.NombrePromotor = rst!NombrePromotor
cnn.Close: rst.Close: Set cnn = Nothing: Set rst = Nothing
End Sub

Si el Campo NombreConvocatoria está en el Formulario activo, no es necesario indicar Form_Introducir........, basta con poner directamente el nombre de dicho campo. Tambien es conveniente indicar la librería que vas a usar, en este caso ADODB por si además de su referencia tambien estuviera marcada la de DAO en la ventana Referencias, que Access sepa la que quieres usar y no se produzca un error.
Al compañero Manuel simplemente decirle que en Access se puede trabajar indistintamente con DAO (a la que te refieres) y ADO (la que está usando txilibrin) y en ambos caso debe de funcionar.

Un saludo y disculpas por el rollo.
Saludos
Enrique
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