Como insertar los datos de un Form a una tabla, sin consulta

Laura
27 de Junio del 2004
Hola a Todos: Bueno mi problema es el siguiente: Tengo unos formularios donde inserto datos, pues me gustaria que esos Formularios no estuvieran basados en ninguna Consulta (estoy haciendolo con Access), de esa manera, al terminar de cumplimentar los datos de un registro, le diera a un Botón y guardara los datos directamente a una Tabla.


Gracias.

gabito
27 de Junio del 2004
holaaaaaaaaaaaaaaaaaaaaa
primero debes declarar variables como
ejem
public dbdynaset as recordset
public db as database
public csql as string

con estas variables puedes trabajar con bases de datos

para insertar un dato a una tabla es como sigue

csql = " select * from (nombre de la tabla) "
set dbdynaset = db.openrecordset(csql,dbopendynaset)
if dbdynaset.recordcount > 0 then
dbdynaset.addnew
dbdynaset![nombre del campo] = nombre de el folrmulario.nombre de el textbox
dbdynaset.update


ojala te sirba a mi me funciona perfectamente
si gustas me respondes y te puedo mandar un ejemplo hecho en visual basic

ya??

adiossssssssssssss

anette
27 de Junio del 2004
Hola Laura
Este codigo es un ejemplo de como inserta un nombre de usuario y una clave a la base de datos, espero te sirva y lo puedas adaptar a lo que necesitas.

Esto lo ingresas el (general):
Option Explicit
' En ADO, se usa el objeto Connection para abrir las bases de datos
Private cnn As ADODB.Connection
' Necesitamos los eventos si queremos controlar algunas cosillas
Private WithEvents rs As ADODB.Recordset

Para el boton Agregar:
Private Sub Command1_Click()
' Indicar el path correcto de la base de datos
' ¡ACUERDATE DE PONER EL PATH CORRECTO!
Dim sPathBase As String
sPathBase = App.Path & "logins.mdb"

' Crear los objetos
Set cnn = New ADODB.Connection
Set rs = New ADODB.Recordset
'
' Crear la conexión manualmente
' Usar "Provider=Microsoft.Jet.OLEDB.3.51;" para bases de Access 97
' Usar "Provider=Microsoft.Jet.OLEDB.4.0;" para bases de Access 2000
With cnn
.ConnectionString = _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & sPathBase & ";" & _
"Jet OLEDB:Database"
.Open
End With
' Indicarle de que tabla vamos a leer los datos
Dim sql As String

sql = "INSERT INTO logins values ('" & nombre.Text & "','" & pass.Text & "', 'admin')"

rs.Open sql, cnn
MsgBox "Usuario añadido"
End Sub

Espero q te funcione y si necesitas ver la aplicación para entenderla avisame a mi correo y te la envio.

[email protected]
@nette : )
Saludos

coquis90
27 de Junio del 2004
Vete a la verga...no tengo ninguna respuesta

ungsec
27 de Junio del 2004
lo que puedes hacer en lugar de utilizar la conexion en codigo es utilizar el control ADO con el cual te da todas las opciones para guardar a traves de un boton, el codigo seria:

Adodc2.Recordset.Fields(0) = valorquequieresguardar
Adodc2.Recordset.Fields(1) = valorquequieresguardar Adodc2.Recordset.Fields(2) = valorquequieresguardar
Adodc2.Recordset.UpdateBatch (adAffectCurrent)

Donde .fields(#) es el numero del campo en la tabla de la base de datos access.

Solamente tienes que tener cuidado al momento de hacer las asiganciones de campos.

La conexion a traves de ADO es un poco mas sencilla de manejar, ya que todas las opciones las manejas directamente en propiedades de objetos.

Espero que te sirva y Suerte.

Oskitar
27 de Junio del 2004
cn.execute "INSERT INTO TABLA VALUES (' " & CAMPO1 & "','" & CAMPO2 & "')"