Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    48

    [VB6] Problema sub di ricerca (sql... select... like...)

    Salve ragazzi... ho creato una Sub che mi permette di effettuare una ricerca "complessa" nel db, e di base funziona. Il problema é arrivato quando ho voluto mettere al posto degli "=" nella query, la parola LIKE, in modo da permettere all'utente di usare anche i metacaratteri tipo "%". Il programma non mi da alcun errore... semplicemente sembra ignorare l'istruzione LIKE, si comporta come se ci fosse l'uguale. Eccovi il codice... spero saprete aiutarmi.

    Grazie mille.

    PS: So che la mia metodologia di scrittura del codice non é certo delle migliori... anzi é molto incasinata... non badateci, sono alle prime armi. Grazie.

    codice:
    Public Sub Cerca()
        Dim strDitta As String, strNome As String, strCognome As String
        Dim strDitta2 As String, strNome2 As String, strCognome2 As String
        Dim strAnd As String
        Dim intEnumera As Integer, bolStatoRicerca As Boolean
            
        strAnd = " AND "
        intEnumera = 0
        bolStatoRicerca = False
        strApici = "'"
            
            strDitta = Clienti.txt_Clienti(1).Text
            strNome = Clienti.txt_Clienti(5).Text
            strCognome = Clienti.txt_Clienti(6).Text
        
        If strDitta = "" Then
            strDitta2 = ""
        Else
            strDitta2 = "Ditta LIKE " + strApici + strDitta + strApici + strAnd
            intEnumera = intEnumera + 2
        End If
        
        If strNome = "" Then
            strNome2 = ""
        Else
            strNome2 = "Nome LIKE " + strApici + strNome + strApici + strAnd
            intEnumera = intEnumera + 4
        End If
        
        If strCognome = "" Then
            strCognome2 = ""
        Else
            strCognome2 = "Cognome LIKE " + strApici + strCognome + strApici
            intEnumera = intEnumera + 100
        End If
        
        Select Case intEnumera
            Case Is = 0
                bolStatoRicerca = False
            Case 2 To 3
                bolStatoRicerca = True
                strDitta2 = "Ditta LIKE " + strApici + strDitta + strApici
            Case 4 To 99
                bolStatoRicerca = True
                strNome2 = "Nome LIKE " + strApici + strNome + strApici
            Case Else
                bolStatoRicerca = True
        End Select
                
        If bolStatoRicerca = True Then
            strTabella = "SELECT * FROM Clienti WHERE " & strDitta2 + strNome2 + strCognome2 & ""
            Call records(strTabella)
            Call ContaRecord
            Clienti.txt_rtrovati = intNRecord
                If bolRsVuoto = False Then
                    rs.MoveFirst
                    Clienti.txt_Clienti(0).Text = rs!Nc
                    Call Clienti_Riempi
                    Call SetNav
                Else
                    MsgBox "Nessun elemento trovato!", vbOKOnly, "Search result:"
                End If
        Else
            MsgBox "Parametri di ricerca insufficenti!", vbOKOnly, "Search result:"
        End If
    
    End Sub

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    48
    Nulla nulla... sono scemo io scusatemi per il disturbo.

    Quando effettuavo la ricerca dal programma, al posto di mettere P* (ad esempio), mettevo P%.

    Vabbé, comunque sia magari la mia routine potrà essere d'aiuto per qualcuno, non tutto il male vien per nuocere.

    Saluti.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.