Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it L'avatar di nadia79
    Registrato dal
    Aug 2005
    Messaggi
    187

    [VBA/ACCESS] - Inserimento dati sottomaschera

    Ciao a tutti,
    io ho due tabelle una FORNITORI e l'altra VALUTAZIONE, nella maschera Fornitori ho i dati fissi del fornitore, inoltre ho una sottomaschera che contiene le valutazioni, il problema è che questa sottomaschera mostra i dati della prima valutazione inserita mentre a me servirebbe la che presenti un record valutazione vuoto da riempire (quelli vecchi devono essere visibili nella stampa) ovviamente associate all'id fornitore.

    Come posso fare per fare questo?
    Ciao e grazie

  2. #2
    ti consiglio il wizard d access..mentre fai la maskera fornitore-valutazione....altriment se hai già la maskera fornitore devi inserire unasottomaskera nella quale definisci sotto collega_campisecondari e collega_campimaster i due campi delle tabelle che si coll: penso ID_Fornitore.

    VaneX

  3. #3
    Utente di HTML.it L'avatar di nadia79
    Registrato dal
    Aug 2005
    Messaggi
    187
    Ciao, si ho fatto come dici solo che mi dà sempre il primo record dell'IDFORNITORE della tabella VALUTAZIONE associato a l'IDFORNITORE visualizzato nella maschera FORNITORI.
    Mentre a me serve che nella sottomaschera VALUTAZIONE presente nella maschera FORNITORI ci sia NON una valutazione già fatta ma un nuovo record per inserire la nuova valutazione (ossia un nuovo record valutazione associato a quel fornitore), ecco questo proprio non mi riesce di farlo

    Spero di essere stata chiara nell'esporre il problema.

    Ciao e grazie

  4. #4
    Utente di HTML.it L'avatar di nadia79
    Registrato dal
    Aug 2005
    Messaggi
    187
    Ho risolto parzialmente!

    codice:
    Private Sub Form_Load() 
    DoCmd.GoToRecord , , acNewRec 
    End Sub
    così creo un nuovo record associato a quel fornitore, unico problema è che quando inserisco la valutazione e cambio fornitore e successivamente ritorno a quel fornitore mi rimane l'ultima valutazione inserita!
    Dovrei creare u pulsante tipo refresh oppure aggiungi nuova valutazione o non so...

    :master:

  5. #5
    Utente di HTML.it L'avatar di nadia79
    Registrato dal
    Aug 2005
    Messaggi
    187

    [VBA/ACCESS] Richiamare dati sottomaschera

    Ciao a tutti,
    nel modulo frmfORNITORI ho richiamato l'applicazione Word, poi con ciclo gli passo i dati della maschera e fin qui tutto bene, il problema sorge quando devo richiamare i dati della sottomaschera che sta nella maschera fornitori.

    Per richiamare i dati della maschera fornitori uso questa forma:

    codice:
     
    .Selection.Text=(CStr(Forms!frmFornitori!txtValutazione)
    invece per i dati della sottomaschera ho usato questa ma non funziona:
    codice:
    .Selection.Text = (CStr(Forms!frmFornitori!frmsottomaschera!txtNote))
    Come posso fare per aggirare questo problema? :master:

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,459

    Moderazione

    Dato che si tratta pressappoco dello stesso argomento, ho unito le discussioni che hai aperto in una discussione unica, che peraltro si trovava nel forum sbagliato.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7
    Utente di HTML.it L'avatar di nadia79
    Registrato dal
    Aug 2005
    Messaggi
    187
    Eccomi qui di nuovo per un aiuto

    allora con questo codice "sparo" tramite i segnalibri di Word i dati della maschera:

    codice:
    .activedocument.bookmarks("txtSitoWeb").Select
    .Selection.Text = (CStr(Forms!frmFornitori!txtSitoWeb))
    però nel caso che il campo della maschera è vuoto mi va in errore! Ho cercato quindi di mettere un controllo in questo modo, ma sembra non funzionare... forse sbaglio la logica oppure la sintassi... :master:

    codice:
    If Not IsNull(CStr(Forms!frmFornitori!txtSitoWeb)) Then
    .activedocument.bookmarks("txtSitoWeb").Select
    .Selection.Text = (CStr(Forms!frmFornitori!txtSitoWeb))
    Else
    Forms!frmFornitori!txtSitoWeb = "--"
    .activedocument.bookmarks("txtSitoWeb").Select
    .Selection.Text = (CStr(Forms!frmFornitori!txtSitoWeb))
    End If
    Dove sta lo sbaglio? :master:

    Ciao

  8. #8
    Utente di HTML.it L'avatar di nadia79
    Registrato dal
    Aug 2005
    Messaggi
    187
    Allora così funziona

    codice:
            
    If Forms!frmFornitori!txtSitoWeb <> "" Then
    .activedocument.bookmarks("txtSitoWeb").select
    .Selection.Text = (CStr(Forms!frmFornitori!txtSitoWeb))
    Else
    Forms!frmFornitori!txtSitoWeb = "--"
    .activedocument.bookmarks("txtSitoWeb").select
    .Selection.Text = (CStr(Forms!frmFornitori!txtSitoWeb))
    End If
    Ora però si pone il problema di fare il medesimo controllo, ad esempio, su 30 campi!!!
    C'è possibilità di usare un ciclo per fare in modo di controllare tutti i campi senza scrivere 200 righe di codice?

  9. #9
    Utente di HTML.it L'avatar di nadia79
    Registrato dal
    Aug 2005
    Messaggi
    187
    Ciao a tutti,
    testato funziona tutto bene tranne però per i campi data:

    codice:
    If Form_frmfORNITORI.txtDataCertificazione2 <> "" Then
    .ActiveDocument.bookmarks("txtDataCertificazione2").Select
    .Selection.Text = (CStr(Forms!frmFornitori!txtDataCertificazione2))
    Else
    Forms!frmFornitori!txtDataCertificazione2 = Empty 
    .ActiveDocument.bookmarks("txtDataCertificazione2").Select
    .Selection.Text = (CStr(Forms!frmFornitori!txtDataCertificazione2))
    End If
    infatti poi mi scrive sul foglio Word, nel segnalibro dove sta quella data, 0.00.00 anzichè lasciarlo vuoto!
    Se inserisco le virgolette "" mi dà errore... come posso dire di lasciare il campo data vuoto?

    :master:

  10. #10
    Utente di HTML.it L'avatar di nadia79
    Registrato dal
    Aug 2005
    Messaggi
    187
    Ciao a tutti,
    purtroppo ho anche un altro problema...

    Devo riempire un documento Word con i segnalibri, ora dato che è un elenco ripetuto n volte quanto è lungo il recordset invece di dare al segnalibro il nome statico:

    .ActiveDocument.Bookmarks("txtNumRepnof1").Select
    .ActiveDocument.Bookmarks("txtNumRepnof2").Select
    ecc.

    Potrei fare un ciclo FOR che assegna il numero al segnalibro?
    .ActiveDocument.Bookmarks("txtNumRepnofnumerodinamico ").Select

    In modo così da non crearli io a mano nel documento Word?

    Uff aiuto!

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