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

problemas con insert para access

Estas en el tema de problemas con insert para access en el foro de Visual Basic clásico en Foros del Web. Hola alguien me puede decir que es lo que estoy haciendo mal aqui? el codigo no me guarda los registros Gracias Private Sub Button2_Click(ByVal sender ...
  #1 (permalink)  
Antiguo 10/02/2009, 19:34
 
Fecha de Ingreso: febrero-2009
Mensajes: 10
Antigüedad: 15 años, 2 meses
Puntos: 0
problemas con insert para access

Hola alguien me puede decir que es lo que estoy haciendo mal aqui? el codigo no me guarda los registros
Gracias

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim conexion2 As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=inventarioXP.mdb"

Dim strSQL2 As String = "INSERT INTO prueba (id, nombre, apellido) VALUES ('" & TextBox1.Text & "', '" & TextBox2.Text & ", '" & TextBox3.Text & "')"
Dim cmdinsert As New SqlClient.SqlCommand
cmdinsert.CommandText = strSQL2
cmdinsert.Connection = conexion
Try
If ((cmdinsert.ExecuteNonQuery()) <> 0) Then
MsgBox("Nuevo Registro", MsgBoxStyle.OkOnly, "HolA")
End If
Catch ex As Exception
MsgBox("No se pudo insertar")
End Try


End Sub
  #2 (permalink)  
Antiguo 10/02/2009, 22:18
 
Fecha de Ingreso: febrero-2009
Ubicación: Villa Ocampo - Santa Fe
Mensajes: 100
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: problemas con insert para access

mmmmmmm la verdad no trabajo de esa manera, prueba lo siguiente:
StrSql = "Insert Into TabPrueba(Nombre,Telefono) Values('" & trim(me.txtNombre) & "'," & val(me.txtTelefono) &") "

Comando.CommandType = adCmdText
Comando.CommandText = STRSQL
Comando.Execute


aqui esta el módulo donde declaro las variables te lo copio entero

Option Explicit
Public TipoMov As Integer
Public Operador As String
Public cn As ADODB.Connection
Public Comando As ADODB.Command
Public StrAux As String
Public gTitulo As String
''creo variable para consulta
Public STRSQL As String
''creo variable para update
Public StrUpdate As String
''creo variable para insert
Public strInsert As String
Public Record As ADODB.Recordset
Public rs As ADODB.Recordset
Public FncAux As ADODB.Recordset
'Public fMainForm As MDIForm1
'Private LCID As Long ' LCID del idioma actual
'Global lbl As String
'Public strserver As String
Public ConData As String

Public strcn As String


Public Sub main()

strcn = App.Path & "\jm.mdb"
On Error GoTo ErrAbr


Set cn = New ADODB.Connection
cn.CursorLocation = adUseClient
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & strcn & ";"

Set Comando = New ADODB.Command
Comando.ActiveConnection = cn

Set FncAux = New ADODB.Recordset ' Solo para funciones

ErrAbr:
If Not Err.Number = 0 Then
MsgBox "Ocurrió un error al abrir la base de datos" & Err.Number, vbCritical, "Horror Fatal!!!!!!!"
End
End If
FrmSeguridad.Show' Aca llamas al Formulario Principal de Tu Aplicación
End Sub


esto esta declarado a nivel módulo, y eso debes configurar el visual con Microsof DataObjects 2.1 o 2.6 que se encuentra en las referencias, si no entiendes algo me lo preguntas
valentino_m_2@hot...
  #3 (permalink)  
Antiguo 11/02/2009, 01:54
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: problemas con insert para access

Cita:
Iniciado por yumiles Ver Mensaje
Hola alguien me puede decir que es lo que estoy haciendo mal aqui? el codigo no me guarda los registros
Gracias

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim conexion2 As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=inventarioXP.mdb"

Dim strSQL2 As String = "INSERT INTO prueba (id, nombre, apellido) VALUES ('" & TextBox1.Text & "', '" & TextBox2.Text & ", '" & TextBox3.Text & "')"
Dim cmdinsert As New SqlClient.SqlCommand
cmdinsert.CommandText = strSQL2
cmdinsert.Connection = conexion
Try
If ((cmdinsert.ExecuteNonQuery()) <> 0) Then
MsgBox("Nuevo Registro", MsgBoxStyle.OkOnly, "HolA")
End If
Catch ex As Exception
MsgBox("No se pudo insertar")
End Try


End Sub
Yo creo que es porque te falta una comilla simple en la consulta:

"INSERT INTO prueba (id, nombre, apellido) VALUES ('" & TextBox1.Text & "', '" & TextBox2.Text & "', '" & TextBox3.Text & "')"

Si no fuera eso (por un error de transcripción), comenta el Try-End Try y mira en qué línea dá error.

  #4 (permalink)  
Antiguo 11/02/2009, 10:57
 
Fecha de Ingreso: febrero-2009
Mensajes: 10
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: problemas con insert para access

Hola Valentino
Mira.... La verdad es que yo no se nada de vb
Es la primera vez que trabajo con este y pues ando mas perdido que un pueblerino en el df jajajaja
El modulo que me enviaste tiene la propiedad public, supongo que es por que es un modulo para uso de otras funciones, por lo que en su lugar las declare como variables (Dim), pero me marca error en el ADODB, pues me dice que no esta definido.
Me ´podrias explicar mas detalladamente por que?
Si no es mucha molestia?
Gracias de antemano
  #5 (permalink)  
Antiguo 11/02/2009, 11:07
 
Fecha de Ingreso: febrero-2009
Mensajes: 10
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: problemas con insert para access

Hola Avellaneda.
Gracias por tu ayuda.
Ya puse la comilla simple pero no hace nada jejeje
El error me lo manda en......
  #6 (permalink)  
Antiguo 12/02/2009, 03:06
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: problemas con insert para access

Cita:
Iniciado por yumiles Ver Mensaje
Hola Avellaneda.
Gracias por tu ayuda.
Ya puse la comilla simple pero no hace nada jejeje
El error me lo manda en......
Hola!

El error me lo manda en <puntos suspensivos>

Pues nos hemos quedado como estábamos.

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 01:02.