Acquista i nostri libri consigliati su Amazon.it
+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 6 su 6

Access 2003 Runtime: Campo Calcolato in Origine controllo di una casella di testo

  1. #1
    g.bona non è in linea Novello
    Ciao a tutti!
    Ho compilato un'applicazione perfettamente funzionante su MSAccess 2003, tramite lo Startup Wizard e il Packet Wizard delle Dev.Extension.
    Nel pacchetto di installazione ho incluso Access 2003 Runtime per rendere fruibile l'applicazione anche senza Access installato.
    Tutte le versioni sono in Italiano cod.1040.

    Lanciando l'applicazione con Runtime però, ho notato che i campi calcolati delle caselle di testo - origine controllo, restituiscono un bel "?Name" (esempio di campo calcolat utilizzati che non funzionano: =Max(Mid([codicecaso];4;4)) oppure: =CLng(Format(Date();"yyyy"))-[nascita] ).

    E' come se non riconoscessero la modalità di riferimento ai campi della maschera (Es.: [campo1] )
    Oppure è un altro problema?
    Idee per bypassarlo?

    Grazie a tutti e buon lavoro!

  2. #2
    L'avatar di @Alex
    @Alex non è in linea Moderatore Globale
    Secondo me non riconosce YYYY nella funzione Format.... hao provato a mettere aaaa...?
    ℹ️ Leggi di più su @Alex ...

  3. #3
    g.bona non è in linea Novello
    Quote Originariamente inviato da @Alex Visualizza il messaggio
    Secondo me non riconosce YYYY nella funzione Format.... hao provato a mettere aaaa...?
    Purtroppo ho già provato.. e con il format "aaaa" mi restituisce anche #Error anche nella versione .MDB
    Sembra più che altro che non riconosca i riferimenti ai campi della maschera.. Chissà se qualcuno ha avuto lo stesso problema? E' abbastanza comune utilizzare campi calcolati..

    Non so più che fare, sono orientato a recuperare un altro compilatore di Access (Access MDE Compiler o SageKey), ma temo solo di posticipare il problema..

  4. #4
    L'avatar di @Alex
    @Alex non è in linea Moderatore Globale
    Quote Originariamente inviato da g.bona Visualizza il messaggio
    Purtroppo ho già provato.. e con il format "aaaa" mi restituisce anche #Error anche nella versione .MDB
    Sembra più che altro che non riconosca i riferimenti ai campi della maschera.. Chissà se qualcuno ha avuto lo stesso problema? E' abbastanza comune utilizzare campi calcolati..

    Non so più che fare, sono orientato a recuperare un altro compilatore di Access (Access MDE Compiler o SageKey), ma temo solo di posticipare il problema..
    Inserisci una Routine nell'avvio che cicla la collection REFERENCE e ti restituisce tutte le proprietà... questo ti aiuta a capire se nel PC in cui hai installato il file+Runtime vi siano problemi di Riferimenti.

    Quanto segnali è tipico proprio di errori di riferimenti a librerie mancanti, come ad esempio MDAC, magari tu hai sviluppato con DAO3.6, e sul PC c'è 3.51, oppure ADO2.8 e sul PC hai ADO2.1.... solo che con un MDE non hai modo di vederlo..., quindi fatti quella Routinetta che ti genera un LOGFile.txt con tutto quanto può servirti per un DEBUG serio.

    Il tutto prima di partire a spendere soldi che magari non servono...
    Function fref()
       Dim ref As Reference
       For Each ref In Application.References
          Debug.Print "----------------------------------------"
          Debug.Print "Name = ", ref.Name
          Debug.Print "Percorso = ", ref.FullPath
          Debug.Print "Corrotto = ", ref.IsBroken
          Debug.Print "BuilIn = ", ref.BuiltIn
          Debug.Print "Version = ", ref.Major & "." & ref.Minor
          Debug.Print "GUIDs = ", ref.Guid
          ' ecc.....
          Debug.Print "----------------------------------------"
          Debug.Print vbCrLf
       Next
    End Function
    
    Ora nell'esempio ho fatto un DEBUG.PRINT ma tu lo scriverai in un File di testo...
    ℹ️ Leggi di più su @Alex ...

  5. #5
    g.bona non è in linea Novello
    Grazie per il suggerimento!
    In effetti, la mia versione di Access2003 di sviluppo, mi restituisce queste 3 librerie in più rispetto ad una versione Runtime installata su altri pc.. Tutte le altre 4 o 5 sono identiche anche nelle versioni.

    ----------------------------------------
    Name = MAPI
    Percorso = C:\PROGRA~1\FILECO~1\SYSTEM\MSMAPI\1040\CDO.DLL
    Corrotto = Falso
    BuilIn = Falso
    Version = 1.21
    GUIDs = {3FA7DEA7-6438-101B-ACC1-00AA00423326}
    ----------------------------------------

    ----------------------------------------
    Name = CDO
    Percorso = C:\WINDOWS\system32\cdosys.dll
    Corrotto = Falso
    BuilIn = Falso
    Version = 1.0
    GUIDs = {CD000000-8B95-11D1-82DB-00C04FB1625D}
    ----------------------------------------

    ----------------------------------------
    Name = IWshRuntimeLibrary
    Percorso = C:\WINDOWS\system32\wshom.ocx
    Corrotto = Falso
    BuilIn = Falso
    Version = 1.0
    GUIDs = {F935DC20-1CF0-11D0-ADB9-00C04FD58A0B}
    ----------------------------------------


    Proverò ad installarle sul pc di test.. se poi fossero queste le incriminate, l'altro passo sarà includerne la registrazione nel packet wizard..
    Grazie ancora!

  6. #6
    L'avatar di @Alex
    @Alex non è in linea Moderatore Globale
    Quote Originariamente inviato da g.bona Visualizza il messaggio
    Grazie per il suggerimento!
    In effetti, la mia versione di Access2003 di sviluppo, mi restituisce queste 3 librerie in più rispetto ad una versione Runtime installata su altri pc.. Tutte le altre 4 o 5 sono identiche anche nelle versioni.

    ....


    Proverò ad installarle sul pc di test.. se poi fossero queste le incriminate, l'altro passo sarà includerne la registrazione nel packet wizard..
    Grazie ancora!

    Io fossi in te farei attenzione... la scelta tecnica che hai esposto è oltremodo pericolosa.
    Ogni PC di sicuro ha già le sue librerie e creando un SETUP di sostituzione metti a rischio eventuali altri SW... cosa per nulla simpatica.

    Di solito, chi sviluppa con riferimenti a librerie esterne usa il metodo LATEBINDING per quelle librerie che possono offrire questi problemi, e quelle che tu hai segnalato sono proprio quelle che, a mio avviso, dovrebbero essere usate con il LATEBINDING o associazione tardiva.

    Non capisco però perchè tu abbia sia CDO che MAPI....???

    In ogni caso il LATEBINDING consente di appoggiarsi alle librerie presenti nel PC creando l'istanza del Riferimento al volo, questo consente di lasciar usare la versione residente senza incorrere in ERRORI dovuti alla REFERENZA RIGIDA(definita EARLY BINDING).

    Questo argomento è stato trattato diverse volte sia quì che in VB6(dove il problema è più frequente).
    ℹ️ Leggi di più su @Alex ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Join su origine dati o campo calcolato.
    Da CESABAS nel forum Microsoft Access
    Risposte: 6
    Ultimo Post: 23-10-2016, 18:11
  2. Query con 4 parametri come origine controllo casella di testo
    Da Diego1966 nel forum Microsoft Access
    Risposte: 29
    Ultimo Post: 01-10-2016, 10:25
  3. Risposte: 4
    Ultimo Post: 29-09-2016, 21:27
  4. Casella di Testo per Campo Calcolato
    Da Stefano88 nel forum Microsoft Access
    Risposte: 1
    Ultimo Post: 26-10-2014, 15:47
  5. Risposte: 3
    Ultimo Post: 09-03-2012, 17:55