Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Problema con consulta SQL en VBA (MS ACCESS)

Estas en el tema de Problema con consulta SQL en VBA (MS ACCESS) en el foro de Bases de Datos General en Foros del Web. Hola a todos: Tengo éste código en un informe de MS ACCESS.: Dim SQL As String Dim SQL1 As String Dim SQL2 As String Dim ...
  #1 (permalink)  
Antiguo 17/03/2003, 03:09
 
Fecha de Ingreso: febrero-2003
Mensajes: 46
Antigüedad: 21 años, 2 meses
Puntos: 0
Problema con consulta SQL en VBA (MS ACCESS)

Hola a todos:

Tengo éste código en un informe de MS ACCESS.:

Dim SQL As String
Dim SQL1 As String
Dim SQL2 As String
Dim SQL3 As String
Dim SQL4 As String
Dim SQL5 As String
Dim SQL6 As String
Dim SQL7 As String
Dim SQLs As String
Dim db As Database, rs As DAO.Recordset
Dim ApeNom As String

Set db = DBEngine.Workspaces(0).Databases(0)

SQL = "SELECT [Valoración enfermería].NIF, [Valoración enfermería].Domicilio, [Valoración enfermería].Hospital, [Valoración enfermería].[Centro de día], [Valoración enfermería].Residencia, [Valoración enfermería].Gafas, [Valoración enfermería].[Lentes de contacto], [Valoración enfermería].[Ojo artificial], [Valoración enfermería].[Aparato auditivo], [Valoración enfermería].Sordo, [Valoración enfermería].[Prótesis total inferior], [Valoración enfermería].[Prótesis parcial inferior], [Valoración enfermería].[Prótesis total superior], [Valoración enfermería].[Prótesis parcia superior], [Valoración enfermería].[Prótesis brazos], [Valoración enfermería].[Prótesis piernas], [Valoración enfermería].Parálisis, [Valoración enfermería].Talla"
SQL1 = ", [Valoración enfermería].Peso, [Valoración enfermería].IMC, [Valoración enfermería].Temperatura, [Valoración enfermería].Pulso, [Valoración enfermería].[T A], [Valoración enfermería].[F Respiratoria], [Valoración enfermería].[Glicémia capilar], [Valoración enfermería].SO2, [Valoración enfermería].Normocoloración, [Valoración enfermería].Normohidratación, [Valoración enfermería].[Mala hidratación cutánea], [Valoración enfermería].Ictericia, [Valoración enfermería].Palidez,[Valoración enfermería].Cianosi, [Valoración enfermería].Eritema, [Valoración enfermería].Edema, [Valoración enfermería].Localización, [Valoración enfermería].Úlceras, [Valoración enfermería].Situación, [Valoración enfermería].Tranquilo, [Valoración enfermería].Agitado"
SQL2 = ", [Valoración enfermería].Angustiado, [Valoración enfermería].Deprimido, [Valoración enfermería].Orina, [Valoración enfermería].[Portador sonda Ch], [Valoración enfermería].Continente, [Valoración enfermería].Incontinente, [Valoración enfermería].Defecaciones, [Valoración enfermería].Frecuencia, [Valoración enfermería].[Con dificultad], [Valoración enfermería].[Sin dificultad], [Valoración enfermería].[Dificultad para la masticación], [Valoración enfermería].[Sin dificultad para la masticación], [Valoración enfermería].[Otras dificultades], [Valoración enfermería].Odinofagia, [Valoración enfermería].Disfagia, [Valoración enfermería].[Deglución normal], [Valoración enfermería].[Nutrición normal], [Valoración enfermería].[Dieta de ingreso]"
SQL3 = ", [Multiresidencia Datos direccion].Adreça, [Multiresidencia Datos direccion].[CP residencia], [Multiresidencia Datos direccion].Municipi, [Multiresidencia Datos direccion].[Número de Registre], [Multiresidencia Datos direccion].Logotipo, Multiresidencia.[Foto Residente], [Valoración enfermería].[Nombre del evaluador], Multiresidencia.[Esta en el centro], Multiresidencia.Nombre, Multiresidencia.[1º Apellido], Multiresidencia.[2º Apellido], Multiresidencia.Residencia, Multiresidencia.Expediente, [Valoración enfermería].Fecha, [Multiresidencia Datos direccion].WWW, [Multiresidencia Datos direccion].[E-Mail], [Multiresidencia Datos direccion].WWW, [Multiresidencia Datos direccion].[E-Mail], [Multiresidencia Datos direccion].Fax"
SQL4 = ", [Multiresidencia Datos direccion].Teléfono, [Multiresidencia Datos direccion].[Nom de la Residència], [Valoración enfermería].[Nutrición enteral], [Valoración enfermería].[Nutrición parental] FROM [Multiresidencia Datos direccion], [Valoración enfermería] INNER JOIN Multiresidencia ON [Valoración enfermería].NIF = Multiresidencia.NIF"
SQL5 = " WHERE (((Multiresidencia.[Esta en el centro]) = Yes) And ((Multiresidencia.Expediente) ='" & NumExp & "') And (([Valoración enfermería].Fecha) =" & Data & ")) ORDER BY Multiresidencia.[1º Apellido];"

SQLs = SQL & SQL1 & SQL2 & SQL3 & SQL4 & SQL5

Set rs = db.OpenRecordset(SQLs, dbOpenDynaset)

Me.RecordSource = SQLs

Y cuando lo ejecuto, me da el siguiente error:

"El valor para ésta propiedad es demasiado largo"

Y le doy a "depurar" y me marca la siguiente linea:

Me.RecordSource = SQLs

. Sabéis que puede ser?

La Consulta funciona bien. pq la he probado en sql.

Espero que podais echarme una mano.
Gracias.
Salu2;
  #2 (permalink)  
Antiguo 17/03/2003, 08:51
Avatar de pdjazr  
Fecha de Ingreso: noviembre-2002
Ubicación: Lima - Limon
Mensajes: 207
Antigüedad: 21 años, 5 meses
Puntos: 0
tienes que recordar que el valor maximo de caracteres para un string es de 255....
saludos
__________________
http://paracraneo.comlu.com
  #3 (permalink)  
Antiguo 17/03/2003, 18:06
 
Fecha de Ingreso: marzo-2003
Ubicación: México
Mensajes: 1
Antigüedad: 21 años, 1 mes
Puntos: 0
Exclamación

amigo:

por alguna razón, en Access no puedes realizar sentencias tan largas, por ello el error
yo te diría que verificaras la sentencia porque, desde mi muy particular punto de vista, es demasiado larga y poco funcional.
yo empezaría por quitar el encabezado de la tabla, en access no es necesario hacer referencia de la tabla.

espero se de tu ayuda

Saludos
Daniel
  #4 (permalink)  
Antiguo 18/03/2003, 03:49
 
Fecha de Ingreso: febrero-2003
Mensajes: 46
Antigüedad: 21 años, 2 meses
Puntos: 0
Gracias Dmunguia, por tu solución, ya me funciona!

; Con quitar los encabezados, ya es suficiente.

Gracias otra vez.
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 21:07.