variable en sentencia sql
Publicado por Rael74 (1 intervención) el 03/06/2009 12:51:42
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
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
Valora esta pregunta


0