Sintassi right in Access 2003

di il
11 risposte

Sintassi right in Access 2003

Ciao a tutti, scusate ma che c'è di sbagliato in questa dichiarazione ?

Dim completo, finale, lunghezza as string
.................

completo = [valore1] & [valore2] & [valore3] & [valore4] & [valore5] & [valore6] ' contiene un comando di query

lunghezza = Len(completo) ' risponde che ci sono 87 caratteri

finale = Right(completo, 5) ' qui va in errore per Errore di compilazione, impossibile trovare progetto o libreria.

Dov'è che sbaglio ?
Grazie

11 Risposte

  • Re: Sintassi right in Access 2003

    Questo è il modo corretto di dichiarare le variabili :
    
    Dim completo as string
    Dim finale as string
    Dim lunghezza as string
    
    Per il problema del right : controlla nei riferimenti del progetto, probabilmente te ne manca qualcuno ....
  • Re: Sintassi right in Access 2003

    Anche scrivendo una sub così:
    Private Sub Comando104_Click()
    Dim completo
    Dim finale
    completo = "ciao come stai "
    finale = Right(completo, 5)
    End Sub
    Mi da lo stesso errore
  • Re: Sintassi right in Access 2003

    redkaa ha scritto:


    Anche scrivendo una sub così:
    ...
    Mi da lo stesso errore
    Rileggi quanto scritto da max.riservo. Non hai capito né come si dichiarano correttamente le variabili (e il loro tipo) né dove guardare per correggere quel tipo d'errore nell'uso delle funzioni "classiche" di vba
  • Re: Sintassi right in Access 2003

    Ciao, diciamo che nella mia risposta a Max.riservo sono stato troppo stringato.
    esattamente prima di rispondere ho riscritto la sub facendo un "dim variabile as string" una per riga, così
    Dim completo as string
    Dim finale as string
    poi, visto che non funziona sono andato sul sito Microsoft per capire cosa intendesse per "riferimenti del progetto". Trovato che si accede con Alt+f11 poi Strumenti, poi riferimenti. Lì ho visto una sbrodolata di riferimenti disponibili che per me novellino dicono ben poco a parte "visual basic for application", Son tornato sui siti Microsoft e altri e ho trovato indicazioni di verificare la flaggatura di riferimenti che però non ho trovato nel mio Accees, che allora ho reinstallato dicendo di reinstallare tutto l'installabile. Continuando a non funzionare e visto che in origine il DB era stato scritto sotto XP e io lavoro su Seven, ho trovato una macchina XP e ho rilanciato la totale reinstallazione di Access e poi nuovamente il Db che mi ha dato lo stesso errore. E allora ho risposto a Max.riservo omettendo di scrivere as string.
    Certe volte, sempre col massimo rispetto per voi che rispondete ai post di aiuto, un novellino come me ha anche difficoltà a capire la risposta nonostante abbia io sulla scrivania due tomi alti 4 dita, uno Manuale Ufficiale Microsoft Access e l'altro "a scuola con VB" .
  • Re: Sintassi right in Access 2003

    Bene,
    hai imparato come dichiarare correttamente le variabili, hai scoperto che esistono i riferimenti dei progetti (facendo un giusto lavoro di ricerca sul loro significato).
    Adesso fai un passo ulteriore : mostraci i riferimenti del tuo progetto .....

    PS - Sei in un forum tecnico frequentato da molte persone con discrete conoscenze nel campo. Gli informatici (o aspiranti tali) adorano la precisione e la chiarezza quindi, per il futuro, cerca di essere preciso nelle indicazioni che fornisci.
  • Re: Sintassi right in Access 2003

    Grazie per aver letto il mio "sfogo" nel modo giusto. Se per riferimenti di progetti si intende quelli intercettabili con Alt+f11 Strumenti Riferimenti i flaggati sono: visual basic for application, Microsoft access 11.0 object library, OLE automation, MANCA microsoft office 15.0 access database engine object library, Microsft active X data object library
  • Re: Sintassi right in Access 2003

    Aggiungo anche io un PS, conosco la "testa" e il mondo degli informatici essendo anche io della categoria. Il problema che dopo quasi 40 anni di lavoro partendo dalla "preistoria" della programmazione controllo numerico, poi assembler e poi cobol, sempre su mainframe, sono diventato analista prima della rivoluzione della logica ad oggetti e del Basic e non ho mai gestito DB. Ora mi sono cercato una simpatica rogna di mettere in piedi una procedura di monitoraggio delle attività sul territorio per una associazione e dopo aver prodotto il 90% di questa procedura che si è dimostrata enorme (certo che se la passo a uno di voi scafati in Access ci trovate 1000 modi per ottimizzarla che sono il primo ad ammettere che è scritta coi piedi, ma comunque funziona) e arenarmi davanti ad un Right lo trovo veramente ridicolo
  • Re: Sintassi right in Access 2003

    redkaa ha scritto:


    ...i flaggati sono: visual basic for application, Microsoft access 11.0 object library, OLE automation, MANCA microsoft office 15.0 access database engine object library, Microsft active X data object library
    E magari un MANCA... potrebbe essere molto sospetto, visto l'errore.
    Deselezionalo e verifica con Compila, prima di riprovare.
    Se non usi ADO togli anche Microsoft active X data object library
    Se dopo aver tolto il riferimento mancante il programma non compila perché gli serve il riferimento a DAO/microsoft office 15.0 access database engine object library, ti suggerisco di cercare nell'elenco Microsoft DAO 3.6 object library, non microsoft office 15.0 access database engine object library, non avrai problemi nel caso ti spostassi su un computer dove non c'è Access 2013 ma ad esempio un A2003.
    Se mantieni anche Microsft active X data object library (ma fallo solo perché serve), metti i riferimenti nell'ordine corretto, perché se alcuni oggetti non sono stati dichiarati in modo da evitare ambiguità, anche l'ordine in cui compaiono i riferimenti fa la differenza
  • Re: Sintassi right in Access 2003

    Le librerie 11.0 dovrebbero riferirsi a Access 2003 mentre le librerie 15.0 dovrebbero appartenere a Office 2013.
    Dovresti avere questi riferimenti :
    - visual basic for application
    - ms access 11.0 object library
    - ole automation

    Ti consiglio di compilare (da vba) il tuo progetto per verificare la presenza di eventuali ulteriori errori ....
  • Re: Sintassi right in Access 2003

    redkaa ha scritto:


    Aggiungo anche io un PS, conosco la "testa" e il mondo degli informatici essendo anche io della categoria. Il problema che dopo quasi 40 anni di lavoro partendo dalla "preistoria" della programmazione controllo numerico, poi assembler e poi cobol, sempre su mainframe, sono diventato analista prima della rivoluzione della logica ad oggetti e del Basic e non ho mai gestito DB.
    30 anni fa avremmo anche potuto essere 'colleghi' : Cobol su mainframe però con i DB eccome se ci avevo a che fare .....
  • Re: Sintassi right in Access 2003

    OTTIMO. Sflaggato MANCA microsoft office 15.0 access database engine object library, compilato (tre errori per sub orfane) e funziona. E' bello continuare ad imparare. Grazie ragazzi
Devi accedere o registrarti per scrivere nel forum
11 risposte