Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/06/2009, 01:52
Rael74
 
Fecha de Ingreso: noviembre-2006
Mensajes: 35
Antigüedad: 17 años, 5 meses
Puntos: 0
variable en sentencia sql

Saludos a la comunidad,

Estoy creando código en visual basic para una aplicación hecha en access 97.
Tengo creado el siguiente módulo, con el que pretendo lo siguiente: hacer una consulta de registros duplicados en modo sql, en la cual uso como nombre de la tabla una variable string que contiene el nombre de la tabla.
Esta variable está declarada como pública:

Public nomarxiuimportat As String 'es el nombre de la tabla


Function segona_part()

Dim sql As Recordset

Set sql = CurrentDb().OpenRecordset("SELECT DISTINCTROW ['" & nomarxiuimportat & "'].nombre_campo1, ['" & nomarxiuimportat & "'].nombre_campo2 FROM ['" & nomarxiuimportat & "'] WHERE (((['" & nomarxiuimportat & "'].nombre_campo1) In (SELECT [nombre_campo1] FROM ['" & nomarxiuimportat & "'] As Tmp GROUP BY [nombre_campo1] HAVING Count(*)>1 ))) ORDER BY ['" & nomarxiuimportat & "'].nombre_campo1;")

If sql.RecordCount = 0 Then
MsgBox sql.RecordCount
End If

sql.Close
End Function

Cuando ejecuto el código me sale un error que dice que el motor de la base de datos Microsoft Jet no puede encontrar la tabla "xxxxxxx", que es precisamente el valor que tiene la variable.

Alguien puede ayudarme?

Gracias a todos,

Un saludo

Rael74