Mira, cuando haces una consulta SQL, seria de esta manera
Select * From Tabla Where Campo='ABC'
si notas es una consulta a una tabla y mi filtro es una cadena (En SQL las cadenas van entre comillas sencillas), entonces cuando quieres hacer una consulta de ese tipo por medio de visual, armas la estructura de la consulta en una cadena, pero respetando esa estructura, entonces para hacer esa llamada desde visual quedaria algo asi
Variable="Select * From Tabla Where Campo='" & cadena & "'"
eso suponiendo que cadena trae el string con el que lo filtrarias(en este caso ABC), ahora por tener un manejo de cadena esa consulta, la puedes armar a como la necesites, ya sea condicionando si es una tabla u otro la que quieres usar
Variable ="Select * From "
if X=0 Then
Variable = Variable & tabla1 & " Where Campo='" & cadena & "'"
Else
Variable = Variable & tabla2 & " Where Campo='" & cadena & "'"
End If
, en este ejemplo si ves le puedes poner una tabla u otra, dependiendo de como necesites hacer tu consulta, pero si nota en la parte de la variable Tabla1 y Tabla2(Son variables Visual Basic que contienen el nombre de las tablas) no llevan comillas porque si las llevara quedaria asi
Select * From 'Tabla' Where Campo='ABC'
y obviamente marcaria un error por el echo de tener comillas el nombre de la tabla y eso por eso que te marcaba error al principio. Haber si no te enrede mas
.
Saludos