Ragazzi,
lavoro il mio problema è questo:
nel mio prg devo fare una ricerca i cui dati vengono estrapolati da una tabella temporanea creata ad hoc. il problema mi si pone nel momento dell'apertura del recordset che mi fa la select su quella tabella; mi si genera infatti il seguente errore:
"Errore di runtime -2147217900(80040e14)
[Microsoft][ODBC SQL Server Driver][SQL Server] Il nome di colonna '%a%' non è valido"
ora, ciò che lui riconosce come nome di colonna è in realtà la condizione del Like, che è a sua volta una parte della condizione per cui vado a fare la select.
qui di seguito vi posto il codice, sperando che sia leggibile.
la stringa '%a%' la ottengo solo se nel form ho inserito il titolo.
codice:
Sub EseguiRicerca()
Dim MioFiltro As String
' ricerca per titolo
If Not IsNull(Trim(txtTitolo)) And Trim(txtTitolo) <> "" Then
MioFiltro = "Descrizione Like ""%" & Trim(txtTitolo) & "%"""
End If
' ricerca per autore
If Not IsNull(dcAutore) And dcAutore <> "" Then
If MioFiltro <> "" Then MioFiltro = MioFiltro & " AND "
MioFiltro = MioFiltro & "Dettaglio1 = """ & dcAutore & """"
End If
' ricerca per casa editrice
If Not IsNull(dcEditore) And dcEditore <> "" Then
If MioFiltro <> "" Then MioFiltro = MioFiltro & " AND "
MioFiltro = MioFiltro & "Dettaglio2 = """ & dcEditore & """"
End If
Call MostraDettagli(1, MioFiltro)
End Sub
Sub MostraDettagli(Tipo As Integer, Optional MioFiltro As String)
Dim miaSQL As String, MioRS As ADODB.Recordset
Set MioRS = New ADODB.Recordset
miaSQL = "SELECT * from #tbRicercaGlobale WHERE Tipo = " & Tipo
If MioFiltro <> "" Then miaSQL = miaSQL & " AND " & MioFiltro
miaSQL = miaSQL & " ORDER BY Descrizione"
MioRS.Open miaSQL, miaConn, 1, 3
If MioRS.EOF Then Exit Sub
End Sub
spero che sia tutto chiaro...
grazie a tutti... come sempre...