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

error -2147217900 (80040e14)

Estas en el tema de error -2147217900 (80040e14) en el foro de Visual Basic clásico en Foros del Web. tengo un problema con una aplicacion, no m permite agregar unos clientes me aparece el sig mensaje: error -2147217900 (80040e14) insert error column name or ...
  #1 (permalink)  
Antiguo 18/12/2007, 14:07
 
Fecha de Ingreso: noviembre-2007
Mensajes: 39
Antigüedad: 16 años, 5 meses
Puntos: 0
error -2147217900 (80040e14)

tengo un problema con una aplicacion, no m permite agregar unos clientes me aparece el sig mensaje:

error -2147217900 (80040e14)
insert error column name or number of supplied values does not match table definition


que puede ser??? alguien m puede ayudar por favor?? me urge !!!!
  #2 (permalink)  
Antiguo 18/12/2007, 19:15
Avatar de ginitofl  
Fecha de Ingreso: diciembre-2006
Ubicación: Lima Perú
Mensajes: 349
Antigüedad: 17 años, 4 meses
Puntos: 22
Re: error -2147217900 (80040e14)

Hola Yoannita tienes que mostrar tu codigo y que tabla es la que estas usando asi como sus campos para poder ayudarte mejor.

Gino'FL
  #3 (permalink)  
Antiguo 19/12/2007, 09:22
 
Fecha de Ingreso: noviembre-2007
Mensajes: 39
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: error -2147217900 (80040e14)

este codigo tengo en el boton guardar, donde m aparece este error. estee error aparecio cuando modifique unos datos en una tabla, no se que pueda ser, gracias

Public Sub save()
Dim clientId, activeStatus, i, contactId As Integer
Dim siEsta As Boolean

'Validar campos llenos
If AdminTool.txt_cname.Text = "" Then
MsgBox "The Client name field is empty", vbCritical
AdminTool.txt_cname.SetFocus
Exit Sub
End If
If AdminTool.chk_cactive.Value = 1 Then
activeStatus = 1
Else
activeStatus = 0
End If
If AdminTool.lst_contacts.ListItems.count = 0 Then
MsgBox "At least a contact must be related with current client", vbCritical
AdminTool.txt_contname.SetFocus
Exit Sub
End If

'Sacar el id que corresponde
Set rst1 = New ADODB.Recordset
rst1.Open "select id from client where name = '" & AdminTool.txt_cname.Text & "' ", de_TimeReportDB.cnn_TimeReportDB, , , adCmdText
If Not rst1.EOF Then 'MODIFICAR REGISTRO
'Sacar el id que corresponde
clientId = Val(rst1!id)
'registro previo client
strSQL = " Update client " & _
" Set active = " & activeStatus & ", " & _
" description = '" & AdminTool.txt_cdescription.Text & "' " & _
" where id = " & clientId & " "
de_TimeReportDB.cnn_TimeReportDB.Execute strSQL
Else 'NUEVO REGISTRO
'Sacar el id que corresponde
Set rst = New ADODB.Recordset
rst.Open "select MAX(id) from client", de_TimeReportDB.cnn_TimeReportDB, , , adCmdText
clientId = Val(rst.GetString) + 1
rst.Close
'Escribe registro en department
strSQL = "Insert into client values (" & clientId & ",'" & _
AdminTool.txt_cname.Text & "','" & AdminTool.txt_cdescription.Text & "','" & activeStatus & "')"
de_TimeReportDB.cnn_TimeReportDB.Execute strSQL
End If
rst1.Close

If AdminTool.lst_contacts.ListItems.count > 0 Then

Set rst2 = New ADODB.Recordset
rst2.Open "select id, name from contact where client_id = " & clientId, de_TimeReportDB.cnn_TimeReportDB, , , adCmdText

Do While Not rst2.EOF
'agregar registros contacts
siEsta = False
'Sacar el id que corresponde
contactId = Val(rst2!id)
For i = 1 To AdminTool.lst_contacts.ListItems.count
If Trim(rst2!name) = AdminTool.lst_contacts.ListItems.Item(i) Then siEsta = True
Next i
'borrarlo solo si no esta siendo utilizado en project
If siEsta = False Then
Set rst = New ADODB.Recordset
rst.Open "select id from project where contact_id=" & contactId, de_TimeReportDB.cnn_TimeReportDB, , , adCmdText
If Not rst.EOF Then
MsgBox "There is a project related to this contact information, please change/remove " & vbCrLf & "project information before removing this contact", vbCritical
Else
strSQL = " delete contact " & _
" where id = " & contactId & " "
de_TimeReportDB.cnn_TimeReportDB.Execute strSQL
End If
rst.Close
End If
rst2.MoveNext
Loop
rst2.Close

For i = 1 To AdminTool.lst_contacts.ListItems.count
Set rst = New ADODB.Recordset
rst.Open "select id from contact where name = '" & AdminTool.lst_contacts.ListItems.Item(i) & "' and client_id = " & clientId & " ", de_TimeReportDB.cnn_TimeReportDB, , , adCmdText
If rst.EOF Then
'Sacar el id que corresponde
Set rst1 = New ADODB.Recordset
rst1.Open "select MAX(id) from contact ", de_TimeReportDB.cnn_TimeReportDB, , , adCmdText
contactId = Val(rst1.GetString) + 1
rst1.Close
strSQL = "Insert into contact values (" & contactId & "," & _
clientId & ",'" & AdminTool.lst_contacts.ListItems.Item(i) & "','" & AdminTool.lst_contacts.ListItems.Item(i).SubItems( 1) & "')"
de_TimeReportDB.cnn_TimeReportDB.Execute strSQL
End If
rst.Close
Next i
Else
'Sacar el id que corresponde
Set rst1 = New ADODB.Recordset
rst1.Open "select MAX(id) from contact", de_TimeReportDB.cnn_TimeReportDB, , , adCmdText
contactId = Val(rst1.GetString) + 1
rst1.Close
strSQL = "Insert into contact values (" & contactId & "," & _
clientId & ",'none',' ')"
de_TimeReportDB.cnn_TimeReportDB.Execute strSQL
End If

'Refrescar lista de clientes
Call Get_Client_List

End Sub
  #4 (permalink)  
Antiguo 29/12/2010, 07:46
 
Fecha de Ingreso: diciembre-2010
Mensajes: 1
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: error -2147217900 (80040e14)

a mi tambien nme aparece el mismo error en una centencia que tengo para la conection de vase de datos pero el error mio es en el boton eliminar aqui les envio el codigo de dicho boton para ver si me pueden ayudar:

dim rs as new adodb.recordset
dim sSql as string
if tx_rut.enable = true then
msgbox "xxxxxxxx"
tx_rut.setfocus
else
if msgbox("¿xxxx" & tx_nom & "?", vbquestion + vbyesno,"xxxxxx") = vbyes then
sSql = "deletefrom tb_mante" ' tb_mante es el nombre de la tabla
sSql = sSql & "where rut = " & tx_rut
else

msgbox "xxxxxxxx", vbinformation, "xxxxxxx" '( en las x van escritos los mensajes que deseen)
end if
end if

todo esto en visual basic 6 con una base de datos sql 2005
  #5 (permalink)  
Antiguo 29/12/2010, 11:33
Avatar de lokoman  
Fecha de Ingreso: septiembre-2009
Mensajes: 502
Antigüedad: 14 años, 7 meses
Puntos: 47
Respuesta: error -2147217900 (80040e14)

Cita:
Iniciado por yohannita Ver Mensaje
tengo un problema con una aplicacion, no m permite agregar unos clientes me aparece el sig mensaje:

error -2147217900 (80040e14)
insert error column name or number of supplied values does not match table definition


que puede ser??? alguien m puede ayudar por favor?? me urge !!!!
Hola!!
El error se refiere a que existen mas o menos datos en la instruccion insert que los requeridos en la tabla... si agregaste mas campos en la tabla, actualiza tu query con los nuevos campos
  #6 (permalink)  
Antiguo 29/12/2010, 11:41
Avatar de lokoman  
Fecha de Ingreso: septiembre-2009
Mensajes: 502
Antigüedad: 14 años, 7 meses
Puntos: 47
Respuesta: error -2147217900 (80040e14)

Cita:
Iniciado por puma_ferrer Ver Mensaje
a mi tambien nme aparece el mismo error en una centencia que tengo para la conection de vase de datos pero el error mio es en el boton eliminar aqui les envio el codigo de dicho boton para ver si me pueden ayudar:

dim rs as new adodb.recordset
dim sSql as string
if tx_rut.enable = true then
msgbox "xxxxxxxx"
tx_rut.setfocus
else
if msgbox("¿xxxx" & tx_nom & "?", vbquestion + vbyesno,"xxxxxx") = vbyes then
sSql = "deletefrom tb_mante" ' tb_mante es el nombre de la tabla
sSql = sSql & "where rut = " & tx_rut
else

msgbox "xxxxxxxx", vbinformation, "xxxxxxx" '( en las x van escritos los mensajes que deseen)
end if
end if

todo esto en visual basic 6 con una base de datos sql 2005
Hola!!
Veo en tu query que no respetas los espacios... intenta asi:
Código vb:
Ver original
  1. sSql = "delete from tb_mante " ' tb_mante es el nombre de la tabla
  2.   sSql = sSql & "where rut = " & trim(tx_rut)
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 02:25.