Saltar al contenido

Guardar Mediante Sql


Celest3

Recommended Posts

publicado

Buenos dias,

por favor me pueden ayudar estoy tratando de insertar datos a una hoja de excel mediante sql atravez de adodb.

pero me da error en la linea de connection y tambien en el values he puesto los nombres d elos controles pero no los reconoce.

por favor me pueden orientar sobre este error.

Private Sub CommandButton1_Click()
Dim Cnn As ADODB.Connection
Dim Sql As String


Set Cnn = New ADODB.Connection
With Cnn
.provider = "Microsoft.ACE.OLEDB.12.0"
.connectionstring = "data source=& ThisWorkbook.Path & " \ " & COSTOS MOTO.xlsx"
.Properties("extended properties") = "Excel 12.0 Xml;HDR=YES"
.Open
End With
Sql = "insert into [prueba$](Nombre,Apellido,edad) " & _
"Values(TextBox1.Text, TextBox2.Text, TextBox3.Text)"


Cnn.Execute Sql


Cnn.Close


Set Cnn = Nothing


End Sub[/code]

saludos,

Celest3

COSTOS MOTO.rar

COSTOS MOTO.rar

publicado

Hola:

Tienes un par de errores, en la conexión te faltaban comillas entre los "&" tu referencia al 'Path'. Yo opte por usar 'FullName'. Así mismo en tu cadena 'Sql' estabas usando los nombres de tus 'Textbox' como caracteres dentro de la cadena, no como objetos. Ojo, no olvidar ademas la comila simple (') para envolver las cadenas de caracteres en sentencias SQL.:


Dim Cnn As ADODB.Connection
Dim Sql As String

Set Cnn = New ADODB.Connection

With Cnn
.provider = "Microsoft.ACE.OLEDB.12.0"
.connectionstring = "data source=" & ThisWorkbook.FullName
.Properties("extended properties") = "Excel 12.0 Xml;HDR=YES"
.Open
End With

Sql = "insert into [prueba$](Nombre,Apellido,edad) " & _
"Values('" & TextBox1.Text & "', '" & TextBox2.Text & "','" & TextBox3.Text & "')"

Cnn.Execute Sql

Cnn.Close

Set Cnn = Nothing
[/code]

Abraham

publicado

Gracias si me funciono, solo una ultima consulta, si es control es numero o si es fecha como debo ponerlo

"Values('" & TextBox1.Text & "', '" & TextBox2.Text & "','" & TextBox3.Text & "')"

o es diferente bueno si puedes me repondes.

doy el tema como SOLUCIONADO

Mil gracias

Saludos,

Celest3

publicado

Hola nuevamente:

Hay varios manuales, sectoriales, etc, de sentencias 'Sql' dando 'vueltas' por internet. Algunas cosas cambian dependiendo de si usas como base de datos Excel, Access, SQL Server, MySql u otro, pero sabiendo lo básico las diferencias son fáciles de recordar. Como para ir comenzando no olvidar algunas cosas:

- Los objetos y variables van fuera de las cadenas y se les concatena con "&". Un ejemplo es la parte de 'Values' enviada en el ejemplo.

- Los caracteres para campos de datos de ese tipo, siempre llevan una comilla simple delante y otra al final ('). Eso se debe cumplir así se ingresen de manera directa o a través de objetos o variables.

- Los datos numéricos van directos (sin comillas simples)

- Las fechas llevan delante y al final un numeral (#), aunque esto puede variar

Bueno, eso es todo por hoy. Saludos.

Abraham

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.