Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 20-07-2009, 08:30   #1
volly86
Member
 
Iscritto dal: May 2004
Città: Modena
Messaggi: 46
[VBA - ACCESS 2007] La ricerca non funziona più!

Ciao a tutti, spero di aver postato nella sezione giusta:

Ho un db in access 2003 con una funzione di ricerca trovata in internet e che
avevo adattato alle mie esigenze, ma, convertendo il db in access 2007 non
funziona più! L'errore che mi da quando arriva al punto indicato sotto è
"Record non corrispondente"
La funzione cerca viene richiamata al click di un pulsante in questo modo
Codice:
Dim fun as new clsUtility

Private Sub attivaRicerca_Click() 'OK
    Call fun.cerca(Me, Forms!Atleti)
End Sub

il codice della funzione di ricerca è questo

Codice:
Private rst As Recordset
Private nomeCampo As Field
Private strValoreCampo, strCampoSingolo As String
Private contaTrovate As Integer
Private trovatoQualcosa, trovataParola, chkParolaEsatta As Boolean

Function cerca(meValue As Object, maschera As Form)
Set rst = maschera.RecordsetClone    ==> SI BLOCCA QUI
strValoreCampo = ""
strCampoSingolo = ""
trovatoQualcosa = False
trovataParola = False
chkParolaEsatta = True
    
If Not meValue!chkGiaTrovata Then
    rst.MoveFirst
    contaTrovate = 0
Else
    rst.Bookmark = meValue.Bookmark
    rst.MoveNext
End If

If meValue!campoSingolo = True Then
    strCampoSingolo = meValue!elencoCampoSingolo.Value
End If

Do While Not rst.EOF
    For Each nomeCampo In rst.Fields
        If meValue!campoSingolo Then
            If nomeCampo.Name = strCampoSingolo Then 'Or rst.EOF Then
                res = subCerca(meValue, maschera)
                If res = selectOption.OK Then Exit Do
                Exit For
            End If
        Else
            res = subCerca(meValue, maschera)
            If res = selectOption.OK Then Exit Do
        End If
    Next
    rst.MoveNext
Loop
    
If contaTrovate = 0 Then
    msgReturn = MsgBox("Elemento non trovato", vbInformation + vbOKOnly, 
"Nessun risultato")
ElseIf rst.EOF Then
    msgReturn = MsgBox("Ricerca Terminata!" & vbCrLf & _
                        "Per ripartire dal primo record" & vbCrLf & _
                            "fare click sul tasto di ricerca", vbInformation 
+ vbOKOnly, "Fine")
End If

Set rst = Nothing
Set nomeCampo = Nothing
End Function

Private Function subCerca(meValue As Object, maschera As Form) As Integer
Dim strCampoRicerca As String

If Not nomeCampo.Name = "Foto" And Not nomeCampo.Name = "Percorso Cert. PDF" 
And Not rst.EOF Then
    strValoreCampo = Nz(rst(nomeCampo.Name), "")
    strCampoRicerca = Nz(meValue!Ricerca, "")
    
    If meValue!parolaIntera Then
        If InStr(1, strValoreCampo, meValue!Ricerca & IIf(chkParolaEsatta, " 
", "")) = Nz(strValoreCampo, "") Or strValoreCampo = strCampoRicerca Then
            trovatoQualcosa = True
            trovataParola = True
        End If
    Else
        If Not trovataParola Then
            If InStr(1, strValoreCampo, meValue!Ricerca) > 0 Then
                trovatoQualcosa = True
                trovataParola = True
            End If
        End If
    End If
                    
    If trovataParola Then
        meValue!chkGiaTrovata = True
        contaTrovate = contaTrovate + 1
        meValue.Bookmark = rst.Bookmark
            
        If meValue(nomeCampo.Name).Enabled = True Then
            meValue("[" & nomeCampo.Name & "]").SetFocus
            meValue(nomeCampo.Name).SelStart = InStr(1, meValue!Ricerca, 
Nz(meValue(nomeCampo.Name).Value, ""))
            meValue(nomeCampo.Name).SelLength = Len(meValue!Ricerca)
        End If
        subCerca = selectOption.OK
        Exit Function
    Else
        meValue!chkGiaTrovata = False
    End If
End If
End Function
Ora, sarà sicuramente cambiato qualcosa nella gestione dei recordset ma
guardando la documentazione non mi sembra.
__________________
Volly86
volly86 è offline   Rispondi citando il messaggio o parte di esso
Old 23-07-2009, 12:54   #2
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Purtroppo temo si tratti di un bug di Access 2007, peraltro non ancora ufficialmente risolto.
Se vai qui :
http://allenbrowne.com/Access2007.html
a mezza pagina c'è una lista ( What's broken (new bugs) ), abbastanza lunghetta, dei nuovi bugs di Access 2007... Uno dei tanti motivi per cui io rimango ancora fedele al mio Office 2003...
Troverai anche il tuo RecordsetClone, purtroppo non ancora fixato dopo il SP2.

Qui, invece, una possibile tecnica di workaround che dovrai adattare al tuo caso :
http://allenbrowne.com/RecordCountError.html

Prova...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Dopo 23 anni di silenzio, Warcraft 3 spi...
Roblox sfida l'ecosistema gaming: app st...
OpenAI accusata di plagio dai migliori m...
Altro attacco hacker dell'IA: gli agenti...
Stiamo davvero perdendo il controllo del...
Microsoft perde un pilastro: Frank Shaw ...
Diablo V annunciato a sorpresa: il colpo...
Meno di 5 euro per il 5G: l'offerta Kena...
World of Warcraft: Forever è il Classic+...
La Serie A con DAZN e Amazon Prime con l...
Giochi Ubisoft su Steam senza Ubisoft Co...
Miami Beach ha autorizzato la maxi opera...
Apple regala un altro anno di funzioni s...
Alla fine è successo davvero: Vol...
Il meglio di Amazon del weekend in uno s...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 04:46.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v