Uso de un input, listbox, grid y Sqlite LIKE

Bases de datos y gestión de estas , basados en sql o no ,MySql, SQL Server , SQLite, Oracle ... y toda la variedad existente, aquí.
Hola estoy tratando de hacer una página de búsqueda para seleccionar una columna de la base de datos por el listbox, y a partir de lo que se escribe en el input muestro las coincidencias en el grid. El problema es que me pone en blanco el grid y no muestra nada. Alguna idea?
La consulta la estoy haciendo así
(abrir_db, "Select FROM Tabla WHERE "..columna_buscar..".."LIKE”'%"..input.GetText("buscar").."%'"")

Luego con los códigos del grid tengo mi duda pero estoy usando los de un libro que hasta ahora me funcionaron pero nada. Ayuda
Utilicé un TextFile.Writefromtable para ver los resultados que me genera y lo que obtengo es la dimensión de la tabla resultante. Por ejemplo si coinciden 2 filas y la tabla tiene 6 columnas me devuelve:
2
6
Eso es normal?
Haciendo uso del inifile comprobé que la consulta estaba bien, ya que me importa los resultados. El problema parece estar en el gris. Si tengo 4 resultados me sale una tabla de 4x1 y así, no de resultados x 1 columna
Tendrías que poner un poco mas de código para ver cual es el problema, de cualquier modo, seguramente el problema este en el código de que dibuja el grid o en la configuración del propio grid, creo recordar que la primera columna de los grids es 0, quizás por ahí va la mano...
(abrir_db, "Select FROM Tabla WHERE '"..columna_buscar.."' LIKE'%"..input.GetText("buscar").."%'")
Acá les dejo todo el código para ver si pueden ayudarme, la verdad no veo nada mal, pero sino me funciona algo abra no?
--evento onClick del xbutton:
campo = ComboBox.GetSelected("CB_busqueda") -- devuelve el indice del elemento seleccionado
columna_buscar = ComboBox.GetItemData("CB_busqueda", campo) --el combobox muestra en el TEXT los nombres de las columnas para el usuario y en data tiene los nombres de las columnas de las tablas, por ejemplo Disposición Técnica en el TEXT y Disp_Tecnica en el DATA que es el nombre de esa columna en la tabla Equipos.

bs = Input.GetText("inp_busqueda") --guardo lo que tenga el input
Grid.DeleteAllItems("Grid_BD"); --borro todo lo que tenga el grid
--a partir de aqui es copia y pega de un codigo que encontre de Agotaras123 en el material de estudio que tengo
if e_Row ~= 1 then
	sCurrentTable = Grid.GetCellText("Grid_BD", e_Row, e_Column)
local	tblReturn = SQLite.QueryToTable(abrir_db, "SELECT FROM Equipos WHERE '"..columna_buscar.."' LIKE '%"..bs.."%' ORDER BY RecordID")
	

	if tblReturn.Rows > 0 then
		for x=1, tblReturn.Rows do
			Grid.SetCellText("Grid_BD", x, 1, tblReturn.Data[x]["RecordID"], true, true)
		end
	
	Grid.ExpandToFit("Grid_BD", false, true)
	Grid.SetColumnCount("Grid_BD", 0)
	Grid.SetRowCount("Grid_BD", 0)
	Grid.Refresh("Grid_BD")
	
	BlindGrid(abrir_db, "Grid_DB", "SELECT FROM Equipos WHERE '"..columna_buscar.."' LIKE '%"..bs.."%' ORDER BY RecordID")
	
	Grid.AutoSizeColumns("Grid_BD", GVS_BOTH, true)
	Grid.SetGridLines("Grid_BD", true, true) --este comando no se porque se pone
	Grid.SetGridLines("Grid_BD", GVL_BOTH)
	end
end

--Funcion para formato en Consulta de Grid--
function BindGrid(dbHandle, sGridName, sQuery)
	bLoadingData = true;
	--conjunto de la red para volver a dibujar NO
	Grid.SetRedraw(sGridName, false, false)

	tb1RS = SQLite.QueryToTable(dbHandle, sQuery)

	if tb1RS ~= nil then
		if tb1RS.Rows > 0 then
			--borrar columnas
			Grid.SetColumnCount(sGridName, 0)
			Grid.SetRowCount(sGridName, tb1RS.Rows+1)
			--Pegar Número de columnas e información de la cabecera
			Grid.SetColumnCount(sGridName, tb1RS.Columns)
			--Ocultar la columna ROWID
			Grid.SetColumnWidth(sGridName, 0, 0, false)

			Grid.SetFixedRowCount(sGridName, 1)
			for nCols=1, tb1RS.Columns do
				Grid.SetCellText(sGridName, 0, nCols -1, tb1RS.ColumnNames[nCols], false)
			end

			--
			--Rellenar la caudricula con datos
			--
			--establecer numero de filas
			Grid.SetRowCount(sGridName, tb1RS.Rows+1)
			--caminar por las filas
			for nRows=1, tb1RS.Rows do
				--a pie de las columnas
				for nCols=1, tb1RS.Columns do
					--establecer el texto de la celda
					Grid.SetCellText(sGridName, nRows, nCols - 1, tb1RS.Data[nRows][tb1RS.ColumnNames[nCols]], false)
					--establecer color de la fila par/impar
					if nRows/2 == Math.Floor(nRows/2) then
						tb1Colors={Background=16777215, Text=0}
					else
						--color celeste: 15720102
						tb1Colors={Background=15720102, Text=0}
						--tb1Colors={Background=13369343, Text=0}

					end
					Grid.SetCellColors(sGridName, nRows, nCols-1, tb1Colors, false)
				end
			end
		else
			nResult = Dialog.Message("Registro Empty Set", "La consulta no ha generado ninguna respuesta.", MB_OK, MB_ICONEXCLAMATION, MB_DEFBUTTON1)
		end
	else
		nResult = Dialog.Message("Registro Empty Set", "La consulta no ha generado ninguna respuesta.", MB_OK, MB_ICONEXCLAMATION, MB_DEFBUTTON1)
	end
	Grid.SetRedraw(sGridName, true, true)
	bLoadingData=false
end

--la pagina no carga nada en preload u onshow
No uso ams hace un tiempo pero si no agregas las columnas lógicamente no le va a poner texto a nada, corríjanme si me equivoco pero le falta
Grid.InsertRow
veo que estas llamando la funcion BlindGrid no se si la colocaste o solo copiaste esa parte del codigo.

function
-------------------------Funcion para Consulta en Grid-----------------------------------------
function BindGrid(dbHandle, sGridName, sQuery)
	bLoadingData = true;
	--conjunto de la red para volver a dibujar NO	
	Grid.SetRedraw(sGridName, false, false)
	
	tblRS = SQLite.QueryToTable(dbHandle, sQuery)
	
	if tblRS ~= nil then
		if tblRS.Rows > 0 then
			-- Borrar columnas
			Grid.SetColumnCount(sGridName, 0);
			Grid.SetRowCount(sGridName, tblRS.Rows+1);
			--Pegar Número de columnas y información de la cabecera
			Grid.SetColumnCount(sGridName, tblRS.Columns)
			--Ocultar la columna ROWID
			Grid.SetColumnWidth(sGridName, 0, 0, false)

			Grid.SetFixedRowCount(sGridName, 1)
			for nCols=1, tblRS.Columns do
				Grid.SetCellText(sGridName, 0, nCols -1, tblRS.ColumnNames[nCols], false)
			end
			
			--******************************--
			--**  Rellenar la cuadrícula con datos **--
			--******************************--
			--establecer el número de filas
			Grid.SetRowCount(sGridName, tblRS.Rows+1)
			--caminar por las filas
			for nRows=1, tblRS.Rows do
				--a pie de las columnas
				for nCols=1, tblRS.Columns do
					--establecer el texto de la celda
					Grid.SetCellText(sGridName, nRows, nCols - 1, tblRS.Data[nRows][tblRS.ColumnNames[nCols]], false);
					--establecidos par / impar color de la fila
					if nRows/2 == Math.Floor(nRows/2) then
						tblColors={Background=16777215,Text=0};
					else
					--Color Celeste: 15720102 
						tblColors={Background=15720102,Text=0};
						 --tblColors={Background=13369343,Text=0};
						
					end
					Grid.SetCellColors(sGridName, nRows, nCols-1, tblColors, false)
				end
			end
		else
			nResult = Dialog.Message("Registro Empty Set", "La consulta no ha obtenido ningún resultado.", MB_OK, MB_ICONEXCLAMATION, MB_DEFBUTTON1)
		end
	else
		nResult = Dialog.Message("Registro Empty Set", "La consulta no ha obtenido ningún resultado.", MB_OK, MB_ICONEXCLAMATION, MB_DEFBUTTON1)
	end
	Grid.SetRedraw(sGridName, true, true)
	bLoadingData=false;
end

------------------------------------------------------------------------------------

y asi se usa cuando la llamas y te cargue los datos a la grid


FechaMatriculaA = Input.GetText("inpDesde")
FechaMatriculaB = Input.GetText("inpHasta")
Apos = "'"


if e_Row ~= 1 then
	sCurrentTable = Grid.GetCellText("Workspace", e_Row, e_Column)
local tblReturn = SQLite.QueryToTable(db, "SELECT  RecordID, Fecha AS[FECHA DE APERTURA], NumFac AS[FACTURA], Cliente AS[CLIENTE], Vendedor AS[VENDEDOR], Total AS[TOTAL FACTURA] FROM RegistroFacturasCredi WHERE Fecha >= ".." "..Apos..FechaMatriculaA..Apos.." ".. "and  Fecha <=" .." "..Apos..FechaMatriculaB..Apos.." ");--local tblReturn = SQLite.QueryToTable(db, "Select RecordID, Seccion, Jornada, Modalidad, FechaMatricula, SUM(Valor) AS[Total]  from Recibos WHERE Modalidad == ".." "..Apos..Modalidad..Apos.." ".." ".."and Seccion == ".." "..Apos..Seccion..Apos.." ".."and Jornada == ".." "..Apos..Jornada..Apos.." ".."and FechaMatricula >= ".." "..Apos..FechaMatriculaA..Apos.." ".."and FechaMatricula <= ".." "..Apos..FechaMatriculaB..Apos.." order by Valor ASC");--"and FechaMatricula <= ".." "..Apos..FechaMatriculaB..Apos..

	if tblReturn.Rows > 0 then
		
		for x = 1 , tblReturn.Rows do
		Grid.SetCellText("Workspace", x, 1, tblReturn.Data[x]["RecordID"], true);
		end

		Grid.ExpandToFit("Workspace", false, true)
		Grid.SetColumnCount("Workspace", 0);
		Grid.SetRowCount("Workspace", 0);
		Grid.Refresh("Workspace")
		BindGrid(db, "Workspace", "SELECT  RecordID, Fecha AS[FECHA DE APERTURA], NumFac AS[FACTURA], Cliente AS[CLIENTE], Vendedor AS[VENDEDOR], Total AS[TOTAL FACTURA] FROM RegistroFacturasCredi WHERE Fecha >= ".." "..Apos..FechaMatriculaA..Apos.." ".. "and  Fecha <=" .." "..Apos..FechaMatriculaB..Apos.." ");--local tblReturn = SQLite.QueryToTable(db, "Select RecordID, Seccion, Jornada, Modalidad, FechaMatricula, SUM(Valor) AS[Total]  from Recibos WHERE Modalidad == ".." "..Apos..Modalidad..Apos.." ".." ".."and Seccion == ".." "..Apos..Seccion..Apos.." ".."and Jornada == ".." "..Apos..Jornada..Apos.." ".."and FechaMatricula >= ".." "..Apos..FechaMatriculaA..Apos.." ".."and FechaMatricula <= ".." "..Apos..FechaMatriculaB..Apos.." order by Valor ASC");--"and FechaMatricula <= ".." "..Apos..FechaMatriculaB..Apos..

		Grid.AutoSizeColumns("Workspace", GVS_BOTH, true)
		Grid.SetGridLines("Workspace", true, true)
		Grid.SetGridLines("Workspace", GVL_BOTH);
	end

end


Ya me funcionó al 100 %. Obviamente era un error de alguna tecla mal dada pero nunca encontré el error. Un millón de gracias