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

sincronizzare sottomaschere

  1. #1
    rpk
    rpk non  in linea Scolaretto
    ciao a tutti
    per prima cosa vi chiedo se da una sottomaschera possibile referenziare i campi di un'altra sottomaschera?
    se si il mio caso questo:
    ho una form principale FATTURE dove ho tutti i dati della fattura
    poi ho creato una prima sottomaschera ARTICOLI dove metto gli articoli contenuti nella fattura.
    Siccome ho la necessit quando evidenzio un articolo di vedere alcune informazioni particolari ho creato nella stessa maschera articoli una seconda sottomaschera chiamata DETTAGLI (maschera singola)
    Fino a qui tutto ok e tutto funziona con la sincronizzazione nel senso che selezionando un articolo la requery della maschera DETTAGLI non da problemi.
    I problemi mi sorgono quando in base a determinati parametri che trova nella riga ARTICOLI devo valorizzare e visualizzare o meno determinati campi della sottomaschera DETTAGLI.
    Il codice l'ho messo nell'evento su corrente della maschera ARTICOLI, Mi ritorna sempre errore 2455.
    Ho provato a referenziare in questo modo
    forms![FATTURE]![DETTAGLI].FORM.[CAMPO].VISIBLE=TRUE
    OPPURE
    ME![PARENT]![DETTAGLI].FORM.[CAMPO].VISIBLE=TRUE
    L'errore persisite, qualcuno mi sa aiutare?
    Grazie in anticipo

  2. #2
    L'avatar di @Alex
    @Alex non  in linea Moderatore Globale
    Cos il riferimento corretto:
    forms![FATTURE]![DETTAGLI]![CAMPO].VISIBLE=TRUE
    
    ℹ️ Leggi di pi su @Alex ...

  3. #3
    rpk
    rpk non  in linea Scolaretto
    ciao Alex,
    purtroppo non funziona, continua a ritornarmi lo steso errore
    MI puoi spiegare la logica di quando bisogna inserire il .form e quando invece inutile?
    grazie
    ciao

  4. #4
    rpk
    rpk non  in linea Scolaretto
    Anzi .... il tuo suggerimento corretto, infatti ricostruendo un db nuovo con solo le 3 mascherine in oggetto funziona.
    Non riesco a capire come mai invece nella struttura generale dell'applicativo mi ritorna errore!

  5. #5
    rpk
    rpk non  in linea Scolaretto
    .... scusate ma forse in mod brutale ho risolto!
    Il problema era che avevo il riferimento sull'evento su corrente e di conseguenza quando eseguiva questo evento probabilmente non aveva ancora caricato la maschera DETTAGLI.
    La soluzione non certo elegante, ma mettendo un bel on error resume next alla prima esecuzione quando non trova la maschera DETTAGLI prosegue, poi quando cambio gli articoli funziona perfettamente.
    Se qualcuno ha un modo pi elegante e corretto ....
    ciao

  6. #6
    L'avatar di @Alex
    @Alex non  in linea Moderatore Globale
    Deve esserci qualche altra cosa che sfugge... ma sarebbe da analizzare.

    In tutti i modi [FORM] il modo per dire di scendere di livello ed accedere a tutti i METODI/PRIOPRIETA'/EVENTI dell'Oggetto Maschera.
    Il Livello superiore a FORM sostanzialmente la Cornice ed il Container....

    In sostanza una TextBox inserita nel CONTAINER non fa parte delle Form_Properties...
    Una Form_Properties AllowAdditions...
    ℹ️ Leggi di pi su @Alex ...

  7. #7
    rpk
    rpk non  in linea Scolaretto
    Ho ancora un piccolo problema di questo tipo quando cancello dalla maschera ARTICOLI una riga.
    La maschera Dettagli nel recordsource contiene un sql che cerca l'id della riga degli articoli attualmente valorizzata
    Quando cancello una riga di ARTICOLI vado a fare una refresh di questa maschera e togliendo il record cancellato e posizionandomi su uno contiguo
    Poi cerco di far eseguire una requery della maschera DETTAGLI fino a quando non inserisco un nuovo record in ARTICOLI non riesco pi a risequenzializzarla e rimane bloccata sul record precedentemente elminato e i campi sono valorizzati ovviamente con #eliminato
    In caso di cancellazione c' da avere qualche accortezza per la risequenzializzazione?

  8. #8
    L'avatar di liodevac
    liodevac non  in linea Scolaretto
    Saluti a rpk e al buon @Alex,
    mi inserisco per suggerire una possibile soluzione per evitare difficolt di gestione origini SQL come evidenziato da utente, e mi spiego.
    Diciamo che voglio visualizzare in Form 1 FATTURA (visualizzazione singola, necessariamente) con:
    - subform1 che esponga elenco ARTICOLI in visualizzazione continua con pochi campi (con riferimenti master – child rispetto a Form FATTURA), e
    - subform2 che esponga DETTAGLIO_ARTICOLO in visualizzazione singola,
    e che siano collegati,

    ebbene io dopo avere costruito la classica coppia form-subform1, aggiungo subform2 dentro Form FATTURA, per con i riferimenti master – child impostati rispetto a subform1 ARTICOLI
    child >> ID_Articolo
    master >> [subform1].Form![ID_Articolo]
    
    e dopo aggiungo a subform1 ARTICOLI l’evento
    Private Sub Form_Current()
        Me.Parent![subform2].Requery
    End Sub
    
    resta da gestire l'evento di cancellazione ARTICOLO, ma non credo sia insormontabile, per c' il vantaggio di non dover impostare una origine dati di form_dettagli
    contiene un sql che cerca l'id della riga degli articoli
    e quindi l'oggetto totalmente riusabile in altre visualizzazioni, oltre al vantaggio di poter visualizzare tutto l'elenco degli articoli e solo su current l'utente va a 'cercarsi' i dettagli che desidera.

    che ve ne sembra?
    Ultima modifica di liodevac; 29-11-2011 19:09  Motivo: correzione ortografica
    ℹ️ Leggi di pi su liodevac ...

  9. #9
    rpk
    rpk non  in linea Scolaretto
    Ciao
    grazie Liodevac la tua soluzione funziona benissimo anche la cancellazione
    Sopratutto non avevo pensato di poter fare il collegamento master-child con un campo di un'altra sottomaschera.
    Grazie per la preziosa collaborazione

  10. #10
    danilo_dr non  in linea Novello
    poich ho un problema su caso simile spero qualcuno mi possa aiutare. Ho un database realizzato con access, dove sulla maschera "pratica", oltre a varie caselle con i dati del cliente e della pratica correlata, ho due sottomaschere con due caselle combinate. Nella casella di una indicata la "materia", con valori presi dalla "tabella materia"; nell'altra casella (dell'altra sottomaschera) indicato l' "oggetto" , con valori presi dalla "tabella oggetto". Le due tabelle "tabella materia" e "tabella oggetto" sono legate con una relazione uno a molti: in pratica alla "materia" diritto civile - nella tabella materia - corrispondono diversi "oggetti" nella "tabella oggetto" (a diritto civile, corrispondono es. risarcimento danni-contratto di vendita- usucapione ecc.). Ora io vorrei che scegliendo la materia nella casella combinata relativa, in quella dell'oggetto compaiano solo gli oggetti corrispondenti alla materia scelta. Ho provato le diverse soluzioni , ma sempre senza risultato. Grazie in anticipo a chi riesce a darmi indicazioni

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Risposte: 1
    Ultimo Post: 20-02-2019, 21:55
  2. Sincronizzare due db
    Da Headphone nel forum Microsoft SQL Server
    Risposte: 3
    Ultimo Post: 30-04-2015, 20:09
  3. Sincronizzare due database
    Da CHR nel forum Microsoft Access
    Risposte: 25
    Ultimo Post: 25-10-2014, 09:48
  4. sincronizzare dati
    Da tdani nel forum Microsoft Word
    Risposte: 4
    Ultimo Post: 09-02-2009, 20:35
  5. VB6: Sincronizzare ListBox
    Da UbySoft71 nel forum Visual Basic 6
    Risposte: 3
    Ultimo Post: 20-01-2008, 17:12