Insert en SQL

He trabajado macros en excel que interactúan con una base de datos en SQL, a través de consultas con datos externos en excel. Puedo consultar y actualizar, pero necesito insertar un registro y no funciona, ¿cómo seria el código?
Por tu tiempo y colaboración de antemano muchas gracias.
Saludos,
John
Respuesta
1
La idea es que si ya ejecutas operaciones de consulta y actualización desde excel a SQL, puedes también ejecutar sentencias de inserción.
Si es que tienes algún error es porque estas insertando una clave duplicada. Te recomendaría que antes de ejecutar la sentencia desde Excel, lo hagas desde ya sea el administrador corporativo o desde el analizador de consultas de SQL Server
¿Verifique antes en el analizador de consultas y no me presento ningún problema...?
Nuevamente gracias por tu pronta respuesta y por tu interés.
En todo caso dime cual es la sentencia que estas ejecutando para ver si de pronto hay algún error de sintaxis y te pueda ayudar
With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DRIVER=SQL Server;SERVER=servidor1;UID=sa;PWD=admin;APP=Microsoft Office XP;WSID=SERVIDOR1;DATABASE=comunes06" _
, Destination:=Range("A1"))
.CommandText = Array( _
"INSERT INTO COMUNES06.DBO.GETIPSER GETIPSER(tipcodigo,tipnombre) VALUES('01','CONTRIBUTIVO')")
.Name = "Consulta desde CapFur"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
Espero que conserve el formato...
Gracias.
La sentencia a ejecutar debería ser:
INSERT INTO COMUNES06.DBO.GETIPSER(tipcodigo,tipnombre) VALUES('01','CONTRIBUTIVO')
y no
INSERT INTO COMUNES06.DBO.GETIPSER GETIPSER(tipcodigo,tipnombre) VALUES('01','CONTRIBUTIVO')
Me parece que 1 GETIPSER esta demás
La hago como tu dices pero igual me marca error...
Yo ejecute un comando SQL desde Microsoft Query y no hubo ningún problema, tal vez es cuestión de seguridades o de alguna configuración en Excel. Prueba ejecutando manualmente la sentencia desde el entorno Microsoft Query de Excel
Mira no se que problema hubo con la página pero estoy seguro que finalize la pregunta y de la mejor manera... era lo menos que podía hacer por el interés que demostrate y la ayuda tan valiosa de tu parte... y sucede que ahora entro y aparece que tengo una lista de respuestas pendientes... en todo caso nuevamente muchas gracias por tu ayuda. Saludos...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas