Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    460

    Visual Basic Aiuto per cosa banalissima :((

    Problema di Visual Basic su Access (Office 2000)

    Ho urgenza di risolvere un problema ma non capisco veramente cosa possa essere. Ho fatto una sola applicazione in VBA, non piccola, parecchio tempo fa, e forse ho la memoria annebbiata.. o forse sono solo stanco. Unica cosa: il prog in questione girava su Access 97.

    Sta di fatto che non riesco a capire che problema possa avere questo codice.. sembra che ci sia qualcosa di concettuale di sbagliato.. non lo so Aiutatemi..

    Ho bisogno di agganciarmi a un evento, fare una select sul DB e aggiornare un altro campo della maschera in base al risultato della select. Insomma una cosa banalissima, che ho gia' fatto 80000 volte; ho preso il mio vecchio programma che funziona perfettamente, ho copiato la sintassi pari pari e mi da un errore - "tipo non corrispondente"- totalmente insensato.

    Il pezzo di codice e' il seguente e mi vergogno quasi a postarlo:



    codice:
    Public Function CAP_of_Localita(my_localita As String)
    
        Dim my_query As String
        Dim my_recordset As Recordset
        
        my_query = "SELECT CAP from dati_localita WHERE nome_comune = '" & my_localita & "';"
        Set my_recordset = CurrentDb.OpenRecordset(my_query)
        
        my_recordset.Close
    
    End Function
    Ora, sulla riga set my_recordset = .. mi da' errore.. e non si capisce perche' !!!

    Se c'e` qualcuno che mi sa dare un motivo.. aiuto.
    There are 10 types of people in the world - those who understand binary and those who don't.

  2. #2
    prova a togliere il ; in fondo alla query

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    460
    Il fatto che ci sia dipende dal fatto che originariamente era senza.. ho provato quello come ultimo tentativo disperato

    Grazie cmq per il tentativo
    There are 10 types of people in the world - those who understand binary and those who don't.

  4. #4
    La prima cosa che mi viene in mente è che se ti capita una città come L'Aquila l'apostrofo rende la tua select così:

    SELECT CAP from dati_localita WHERE nome_comune = 'L'Aquila'

    quindi 'L'Aquila' la prende come campo 'L' (qui finisce la stringa) e Aquila' non sa cos'è perchè è dopo l'istruzione e si incazza.

    quindi devi mettere il doppio apice all'interno della stringa:

    my_localita = Replace(my_localita, "'", "''")
    my_query = "SELECT CAP from dati_localita WHERE nome_comune = '" & my_localita & "';"

    non so se questo risolve i tuoi problemi ma è sicuramente uno dei problemi che incontrerai più avanti
    Massimiliano Etere
    meNOSPAMPLEASE@maxetere.it
    http://www.suonaresuonare.it
    http://www.vendovendo.it

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    460
    UP
    There are 10 types of people in the world - those who understand binary and those who don't.

  6. #6
    Prova così

    my_query = "SELECT CAP from dati_localita WHERE nome_comune = " & "'" & my_localita & "'" & ";"

    (Considera che l'ho fatt oal volo e non posso testare :tongue: )

    Oppure gestisci il valore di my_localita in un oggetto così non ti dovrebbe sicuramente rompere...

    Ad esempio my_localita è un campo testo (per esempio)


    my_query = "SELECT CAP from dati_localita WHERE nome_comune = 'my_localita.text ';"


    Sta a te scegliere il tipo di oggetto.

    Cià Fri
    Dalla vita altrui attingeva la sua oscura magia...
    Membro del Sacro Ordine degli elfi oscuri di Kand

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 © 2024 vBulletin Solutions, Inc. All rights reserved.