Errore macro da metà report in giù

di il
6 risposte

Errore macro da metà report in giù

Ciao a tutti e grazie in anticipo!
Ho il problema che una macro applicata ad un pulsante in un sottoreport funziona solo nella parte alta dello stesso, se scorro con la barra laterale, dopo un po' (circa metà report) la macro non funziona bene. Cerco di essere preciso:
- [tabella progetti] e [tabella contratti]. Per ogni progetto posso esserci uno o più contratti;
- Report [PROGETTI] che contiene sottoreport [CONTRATTI]. Report e sottoreport contengono ordinamenti e raggruppamenti;
- Nel sottoreport ho inserito un pulsante (che quindi si ripete più volte, una per ogni record) a cui è applicata la macro "verifica contratto";
- Macro "verifica contratto": apri maschera "aggiungi verifica" con clausola where [ID]=[Report]![PROGETTI]![CONTRATTI]![ID];
- Maschera "aggiungi verifica": contiene diversi campi di cui alcuni hanno valore predefinito [campo x]=[Report]![PROGETTI]![CONTRATTI]![campo x], gli altri sono vuoti.

Quando tutto funziona si apre la maschera con i campi a valore predefinito compilati come appaiono sul record relativo del sottoreport [CONTRATTI], scorrendo il report, dopo un certo punto, la macro apre la maschera corretta in cui però, nei campi a valore predefinito, compare "#Errore". L'unica variabile è la posizione in cui è posizionato il record...boh

6 Risposte

  • Re: Errore macro da metà report in giù

    Pulsanti sui report? Non so perchè Access consente di fare ciò.
    Vedo che ti funziona tutto con maschere e sottomaschere. Perchè non lasci lavorare loro per queste incombenze? Potresti usare sintassi come queste ad esempio:
    [ID]=[Forms]![PROGETTI]![CONTRATTI]![ID]
    [campo x]=[Forms]![PROGETTI]![CONTRATTI]![campo x]

    Usa il report solo per una stampa finale...quando hai le idee chiare su COSA vuoi stampare.
  • Re: Errore macro da metà report in giù

    Lo so, inizialmente ero organizzato con maschere e sottomaschere. Il problema è che il contenuto di alcuni campi è un testo molto variabile come lunghezza. Contrariamente a quanto avviene con il report, nella maschera i campi non si adattano alla lunghezza del testo e questo rende la lettura di quello che di fatto è una sorta di diario, piuttosto macchinosa. Dovrei impostare l'altezza del campo di testo e avere il campo mezzo vuoto se il testo è corto o dover scorrere con la barra laterale se viceversa fosse molto lungo.
    Comunque anche nel report la macro funziona, solo che fino a metà pagina. Non capisco...
  • Re: Errore macro da metà report in giù

    casti81 ha scritto:


    ...
    - Report [PROGETTI] che contiene sottoreport [CONTRATTI]. Report e sottoreport contengono ordinamenti e raggruppamenti;
    - Nel sottoreport ho inserito un pulsante (che quindi si ripete più volte, una per ogni record) a cui è applicata la macro "verifica contratto";
    - Macro "verifica contratto": apri maschera "aggiungi verifica" con clausola where [ID]=[Report]![PROGETTI]![CONTRATTI]![ID];
    - Maschera "aggiungi verifica": contiene diversi campi di cui alcuni hanno valore predefinito [campo x]=[Report]![PROGETTI]![CONTRATTI]![campo x], gli altri sono vuoti.
    ... scorrendo il report, dopo un certo punto, la macro apre la maschera corretta in cui però, nei campi a valore predefinito, compare "#Errore"....
    La maschera "Aggiungi verifica" è solo per l'inserimento di una nuova verifica? Va ad inserire un nuovo record in una tabella tipo "Verifiche" in relazione uno a molti con contratti?
    Il problema si verifica dopo aver aperto ed usato quella maschera almeno una volta? Se la apri più volte ma in corrispondenza di record che si trovano nella prima metà del report va tutto bene? La maschera viene chiusa regolarmente o c'è la possibilità che si ritorni a report senza chiuderla?
    Hai provato ad andare direttamente in uno dei record che si trova oltre la metà del report ed aprire quella maschera per la prima volta in quell'occasione?
    E' difficile "debuggare" con le macro e vedere dov'è il problema.
  • Re: Errore macro da metà report in giù

    casti81 ha scritto:


    Il problema è che il contenuto di alcuni campi è un testo molto variabile come lunghezza. Contrariamente a quanto avviene con il report, nella maschera i campi non si adattano alla lunghezza del testo e questo rende la lettura di quello che di fatto è una sorta di diario, piuttosto macchinosa.
    Siamo sicuri che stai usando i campi in maniera corretta? Un campo con descrizione lunga ce lo vedo solo per un campo di tipo "testo lungo". Generalmente una tabella con questo tipo di campo ne ha uno solo...non saprei se hanno senso più campi.
    Non vorrei che le tue "lunghe" informazioni potessero essere spezzettate in più campi.
    Potresti farci qualche esempio?
  • Re: Errore macro da metà report in giù

    Philcattivocarattere ha scritto:


    La maschera "Aggiungi verifica" è solo per l'inserimento di una nuova verifica? Va ad inserire un nuovo record in una tabella tipo "Verifiche" in relazione uno a molti con contratti?
    Sì, aggiunge un nuovo record ma non in una tabella diversa. Di fatto duplica il record della tabella "contratti" per 8 campi su 10, gli altri due costituiscono appunto la "verifica". Il report è raggruppato per uno dei campi duplicati con un'intestazione dedicata che contiene tutti i campi duplicati.Nel corpo del record ci sono solo i due campi rimanenti in modo che nella visualizzazione finale si veda un'intestazione con i dati fissi e sotto la sequenza delle verifiche....macchinoso?

    Philcattivocarattere ha scritto:


    Il problema si verifica dopo aver aperto ed usato quella maschera almeno una volta? Se la apri più volte ma in corrispondenza di record che si trovano nella prima metà del report va tutto bene? La maschera viene chiusa regolarmente o c'è la possibilità che si ritorni a report senza chiuderla?
    Hai provato ad andare direttamente in uno dei record che si trova oltre la metà del report ed aprire quella maschera per la prima volta in quell'occasione?
    Farò delle prove...
  • Re: Errore macro da metà report in giù

    OsvaldoLaviosa ha scritto:


    Siamo sicuri che stai usando i campi in maniera corretta? Un campo con descrizione lunga ce lo vedo solo per un campo di tipo "testo lungo". Generalmente una tabella con questo tipo di campo ne ha uno solo...non saprei se hanno senso più campi.
    Non vorrei che le tue "lunghe" informazioni potessero essere spezzettate in più campi.
    Potresti farci qualche esempio?
    Il database gestisce le cartelle cliniche di un centro in cui si fanno terapia e sostegno psicologici, le chiacchiere ahimè sono tante...
    In ogni caso sto pensando che forse una maschera divisa potrebbe funzionare bene e risolvere il problema, faccio dei tentativi e riferisco.
    Vi aggiorno, intanto grazie, sempre disponibili!
Devi accedere o registrarti per scrivere nel forum
6 risposte