codice:
Public Function GetBoatsList(Optional ByVal FilterOptions As String = "", Optional ByVal SortOptions As String = "SortOrderTipoImbarcazione, IdTipoImbarcazione, SortOrder, Lunghezza, Nome", Optional ByVal PageSize As Integer = 0, Optional ByVal PagePointer As Integer = 0) As ADODB.Recordset
Dim SQLString As String
SQLString = "SELECT * FROM (SELECT FlottaCharter.*, BasiCharter.CodiceBase, BasiCharter.Descrizione" & mLanguageCode & " AS DescrizioneBase, LineeCharter.CodiceLinea, LineeCharter.Descrizione" & mLanguageCode & " AS DescrizioneLinea,"
SQLString = SQLString & " TipiImbarcazioni.SortOrder as SortOrderTipoImbarcazione, TipiImbarcazioni.Descrizione" & mLanguageCode & " AS DescrizioneTipo, LineeCharter.IdArmatore, Armatori.Descrizione AS DescrizioneArmatore, "
SQLString = SQLString & "'Listini' AS Listini,"
SQLString = SQLString & "'Preview' AS Preview"
SQLString = SQLString & " FROM FlottaCharter INNER JOIN"
SQLString = SQLString & " TipiImbarcazioni ON FlottaCharter.IdTipoImbarcazione = TipiImbarcazioni.IdTipoImbarcazione LEFT OUTER JOIN"
SQLString = SQLString & " tabListini ON FlottaCharter.CodiceBarca = tabListini.CodiceBarca LEFT OUTER JOIN"
SQLString = SQLString & " BasiCharter ON tabListini.CodiceBase = BasiCharter.CodiceBase LEFT OUTER JOIN"
SQLString = SQLString & " LineeCharter ON tabListini.CodiceLinea = LineeCharter.CodiceLinea LEFT OUTER JOIN"
SQLString = SQLString & " Armatori ON LineeCharter.IdArmatore = Armatori.IdArmatore) BoatsList"
If FilterOptions <> "" Then SQLString = SQLString & " WHERE " & FilterOptions
If SortOptions <> "" Then SQLString = SQLString & " ORDER BY " & SortOptions
Set GetBoatsList = New ADODB.Recordset
GetBoatsList.CursorLocation = adUseClient
GetBoatsList.Open SQLString, mDBConnection, adOpenStatic, adLockReadOnly
If GetBoatsList.RecordCount > 0 Then
If PageSize > 0 Then
GetBoatsList.PageSize = PageSize
GetBoatsList.AbsolutePage = PagePointer
End If
End If
End Function
Le tabelle importanti sono FlottaCharter e tabListini.
FlottaChater è una tabella con tutti i campi di una barca(nome,modello ecc). tabListini invece collega una barca a una base e a un listino.
La parte che dovrei cambiare è quella che si ritorna a "Listini" che dovrebbe svolgere una nuova funzione, "Preview" va bene così.
Mi ripeto: vorrei che se un'imbarcazione ha un un listino questo venga evidenziato, e per questo la parte da cambiare nella funzione sarebbe:
codice:
SQLString = SQLString & "'Listino trovato, codice ID listino: ' + STR(tabListini.ID) AS Listini,"
Se invece quella barca non ha nessun listino, si dovrebbe optare per:
codice:
SQLString = SQLString & "'Listino non trovato' AS Listini,"
Ho provato con quell' If per far andare uno di questi due "pezzi" di codice, ma si fissa solo con uno dei due e produce un'output sbagliato