border

Miembros:
Mensajes:
Temas:
Online:

Ultimo Miembro:

 
 

  #1 (permalink)  
Antiguo 03-10-2005, 04:05:40
Buena Participación en el Foro
 
Registrado: ene 2005
Posts: 85
karl Valoración +2
Predeterminado agregar un nuevo registro a al DB usando ADO

SALUDOS AMIGOS,Estoy tratando de ingresar,eliminar y modificar un registro en base de datos especificamente a la tabla TblCliente, pero no lo he podido hacer sera que me pueden ayudar.
a ca tengo lo de guardar


Private Sub cmdGuardar_Click()
Dim rst As New ADODB.Recordset
Dim cnn As New ADODB.Connection
Dim strsql As String

'abrir la conexion
cnn.Open "Provider='Microsoft.JET.OLEDB.4.0';" & _
"Data Source='C:\Documents and Settings\Carlos A Valencia C\Escritorio\systemchi\systemchi_final.mdb'"

'abrir el recorset
rst.Open "TblCliente", cnn, adOpenStatic, adLockOptimistic

strsql = "INSERT INTO TblCliente VALUES ('" & Text1 & "', '" & Text2 & "','" & Text3 & "', '" & Text6 & "','" & Text7 & "', '" & Text8 & "','" & Text4 & "','" & Text5 & "', '" & Text9 & "','" & Combo1 & "','" & Combo2 & "','" & Combo3 & "')"

cnn.Execute strsql
MsgBox "la tabla clientes has been updated with a new record"

cnn.Close
Set cnn = Nothing
End Sub
Archivos Adjuntos
Tipo de Archivo: zip systemchi_318.zip (164,9 KB, 3 visitas)
__________________
Carlos Andres Valencia C
Responder Con Cita
  #2 (permalink)  
Antiguo 03-10-2005, 04:56:28
Gran Participación en el Foro
 
Registrado: sep 2004
Posts: 161
csic20 Valoración +2
Predeterminado

Antes que nada, decirte q no necesitas abrir un nuevo recorset si vas a trabajar con sentencias sql, lo otro es que segun tu insert into, estas asumiendo que todos tus campos son de tipo texto, si es asi, solo te faltaria ver tu conexion. pero haber si algo asi te sirve.

Private Sub cmdGuardar_Click()
Dim rst As New ADODB.Recordset
Dim cnn As New ADODB.Connection
Dim strsql As String
Dim ruta As String
'abrir la conexion
ruta = App.Path & "\SystemChi_final.mdb"
Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & App.Path + "\SystemChi_final.mdb" & ";" & _
"Jet OLEDBatabase Password=aml"
strsql = "INSERT INTO TblCliente VALUES ('" & Text1 & "', '" & Text2 & "','" & Text3 & "', '" & Text6 & "','" & Text7 & "', '" & Text8 & "','" & Text4 & "','" & Text5 & "', '" & Text9 & "','" & Combo1 & "','" & Combo2 & "','" & Combo3 & "')"
Cn.Execute strsql
MsgBox "la tabla clientes has been updated with a new record"
Cn.Close
Set cnn = Nothing
End Sub
Responder Con Cita
  #3 (permalink)  
Antiguo 03-10-2005, 14:32:16
Buena Participación en el Foro
 
Registrado: ene 2005
Posts: 85
karl Valoración +2
Predeterminado

no todos los campos son de tipo texto, por decir algo el text1 es el que maneja el nit del cliente y el nit del cliente en la tabla es un campo de tipo numerico, entonces no deberia llevar apostrofes como me lo explicaste?

para el ingreso en la DB tengo que tener en cuenta el orden en que van los campos en la tabla?

el orden de los campos en la Tabla es:

nit cliente(text1)
nombre(text2)
direccion(text3)
telefono(text6)
celular(text7)
fax(text8)
pais(combo1)
departamento(combo2)
municipio(combo3)
fecha ingreso(DTPicker)
email(text4)
web(text5)
observaciones(text9)

en ese mismo oreden deberia ponerlos en

strsql = "INSERT INTO TblCliente VALUES ('" & Text1 & "', '" & Text2 & "','" & Text3 & "', '" & Text6 & "','" & Text7 & "', '" & Text8 & "','" & Combo1 & "','" & Combo2 & "','" & Combo3 & "','" & Text4 & "','" & Text5 & "', '" & Text9 & "')"

????????
__________________
Carlos Andres Valencia C
Responder Con Cita
  #4 (permalink)  
Antiguo 04-10-2005, 05:40:27
Buena Participación en el Foro
 
Registrado: ene 2005
Posts: 85
karl Valoración +2
Predeterminado INGRESO USANDO ado

bueno muchachos ya por fin pude ingresar bien el nuevo cliente usando ADO al base de datos pero no he podido ingresar un nuevo departamento

me aparece un error que dice asi:

error -2147217904 en tiempo de ejecucion .
no se haqn especificado valores sobre algunos de los parametros requeridos, este es el codigo,EL ERRO ME APARECE EN CN.SQL STRING antes del RS.CLOSE

Private Sub cmdGuardar_Click()

Dim Codigo As Integer
Dim Cnn As New ADODB.Connection
Dim ruta As String
Dim SQL As String

ruta = App.Path & "\SystemChi_final.mdb"
Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & App.Path + "\SystemChi_final.mdb" & ";" & _
"Jet OLEDBatabase Password=aml"

If Combo1.Text <> "" And Text1 <> "" And Text2 <> "" Then
Dim Rs As New ADODB.Recordset
SQL = "Select top 1 CodigoDepartamento From TblDepartamento Order By CodigoDepartamento desc"
'Rs.Open SQL, Cn, adOpenStatic
SQL = "INSERT INTO TblDepartamento Values (" & Text1 & "," & Combo1 & ",'" & Text2 & "')"
Cn.Execute SQL
Rs.Close
Set Rs = Nothing

Else
MsgBox "debe agregar un nombre y seleccionar un pais para poder continuar la operacion", vbCritical, "Se ha producido un Error"
End If
End Sub
__________________
Carlos Andres Valencia C
Responder Con Cita
  #5 (permalink)  
Antiguo 04-10-2005, 06:32:53
Moderador
 
Registrado: dic 2002
Ubicación: Oviedo - Asturias
Posts: 1.251
angelescj Valoración +2
Predeterminado

Como se te ha indicado anteriormente, para insertar, modificar o eliminar datos en una BD utilizando SQL no es necesario abreir ningún recordset. No es necesxario leer nada para realizar ese tipo de acciones.
Por otro lado el error que te está dando es porque no das valores para todos los campos de la tabla, si esto es así porque no es necesario ponerlos deberás pones la cláusula SQL completa, si es porque se te ha olvidado algún valor deberías revisar la orden:

Private Sub cmdGuardar_Click()

Dim Codigo As Integer
Dim Cnn As New ADODB.Connection
Dim ruta As String
Dim SQL As String

ruta = App.Path & "\SystemChi_final.mdb"
Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & App.Path + "\SystemChi_final.mdb" & ";" & _
"Jet OLEDBatabase Password=aml"

If Combo1.Text <> "" And Text1 <> "" And Text2 <> "" Then
SQL = "INSERT INTO TblDepartamento (AQUI IRÍAN LOS NOMBRE DE LOS CAMPOS A LOS QUE LES ESTAS DANDO VALOR SEPARADOS POR COMAS) Values (" & Text1 & "," & Combo1 & ",'" & Text2 & "')"
Cn.Execute SQL
Else
MsgBox "debe agregar un nombre y seleccionar un pais para poder continuar la operacion", vbCritical, "Se ha producido un Error"
End If
End Sub

:smt004
__________________
Angeles
-------------------------------------
Visual Basic
Videos Programacion
Foro Programacion
Tutoriales Programacion
Responder Con Cita
  #6 (permalink)  
Antiguo 05-10-2005, 02:56:13
Buena Participación en el Foro
 
Registrado: ene 2005
Posts: 85
karl Valoración +2
Predeterminado

trate con lo que me explicaste pero me sigue apareciendo el mismo error, lo que pasa es que en la tabla departamentos tengo es un codigo de pais y el combo1 me trae es el nombre del pais , creo que de alli parte el error, como podria hacer para que cuando seleccione el pais en el comboBox me lleve a la tabla el codigo del pais.

sera que podrias probar aquello que me pusiste como ayuda en el codigo que te mando .

y asi puedas darte cuenta de lo que te digo
Archivos Adjuntos
Tipo de Archivo: zip systemchi_124.zip (165,9 KB, 2 visitas)
__________________
Carlos Andres Valencia C
Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado


Temas Similares
Tema Autor Foro Respuestas Último Mensaje
Problema para agregar un registro en una tabla por codigo lesthad C# .NET 2 08-04-2008 19:06:01
nuevo registro con el dataenvironment jhanluigui Visual Basic 6.00 2 22-11-2005 00:59:19
error al agregar registro en adodc alfonsoestampida Visual Basic 6.00 8 25-04-2005 12:48:26
Error al Agregar un Nuevo registro de Servidor sql Campos_S sql 2000 1 17-09-2004 00:00:00
como crear un registro nuevo? joja_2 Visual Basic 6.00 6 17-09-2004 00:00:00


La franja horaria es GMT. Ahora son las 19:48:16.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
A vBSkinworks Design

Alojado en el servicio Premium de Masquewebs | Diseño mejorado por MasqueWebs

right