Usuario
Error de sintaxis 3075 (falta operador) en la consulta

Pregunta
-
Hola, estoy intentando introducir datos desde un formulario en VB a una BD en Postgres. La tabla destino tiene dos campos, uno autonumérico y otro de tipo array [] texto.
Desde postgres para introducir datos hay que hacer la sentencia "insert into tabla (campo1) values (array['valor','valor2']);"
Lo que he hecho es un botón que almacena los valores entre comillas simples y luego esto pasa a la sentencia sql de inserción.
Os paso el código para saber lo que hay que cambiar.
Private Sub cmdPruebas_Click()
Dim strsql As String, resultado As String, salida As String
Dim db As Database
dbconnect = "ODBC;DRIVER=PostgreSQL ANSI;UID=***;PWD=***;PORT=5432;SERVER=***.***.**.**;DATABASE=prueba;DSN=C:\****"
Set db = OpenDatabase("", False, False, dbconnect)
resultado = [resu] -->> Aquí almacenamos los valores con comillas 'valor1','valor2'
strsql = "insert into prueba_arrays (tipo_intervencion) values"
salida = "(array[" & resultado & "]);"
DoCmd.SetWarnings False
DoCmd.RunSQL strsql & salida
DoCmd.SetWarnings True
Cualquier ayuda sería inestimable.
Gracias
- Cambiado Enrique M. Montejo jueves, 14 de julio de 2016 14:08 Programación con VBA desde Microsoft Access.
Todas las respuestas
-
Hola
Buscando un poco, parece que el problema es claramente de sintaxis de tu query
Cada valor del array tiene que ir entre llaves, según viene aquí Documentación tipo array
Suerte...
José Mª Fueyo
- Editado José Mª Fueyo viernes, 15 de julio de 2016 6:14
-
Hola, gracias por responder, lo he intentado así, pero sigue dando el mismo problema, además corta la cadena antes de terminar, es decir, piensa que el array termina en el primer elemento. Por ejemplo, he puesto varias palabras que quedaban de este modo: ['Misa'], ['Funeral'], ['Cantico'] y decía este mensaje [..] la expresión de consulta 'array[['Misa']' es decir, que no leía el resto de elementos del array.
Se os ocurre otro fallo que esté cometiendo en la consulta?
Saludos y gracias
-