Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[Access] - Utilizzo "CanGrow" e "copia Record"

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

[Access] - Utilizzo "CanGrow" e "copia Record"

Postdi nonimpareromai » 21/10/08 09:12

ciao a tutti,
volevo chiedervi un aiutino per risolvere due problemi che ho incontrato nella realizzazione di un dB con Access2003 SP2:

>>>>Ho creato un report in cui tabulo dei dati in 4 colonne; utilizzando l'opzione "CanGrow" mi si verifica lo spiacevole effetto visivo di avere celle in orizzontale con altezze (evidenziate da bordi) diverse!
Come posso fare in modo che se aumenta l'altezza di una casella, aumenti allo stesso modo anche l'altezza delle caselle affiancate sulla stessa riga?

>>>>Ho creato una maschera + sottomaschera ed ho aggiunto un pulsante "copia record": Il problema è che copia solo il record della maschera principale e non tutti i dati della sottomaschera! E' possibile con del codice o con qualche funzione fare in modo di inserire un tasto (o altro) che mi permetta di copiare il record contenuto nella maschera e tutti i dati delle sottomaschere correlate nella stessa vista (della stessa query) in un nuovo record.
nonimpareromai
Utente Junior
 
Post: 16
Iscritto il: 21/10/08 08:24

Sponsor
 

Re: [Access] - Utilizzo "CanGrow" e "copia Record"

Postdi archimede » 21/10/08 12:03

nonimpareromai ha scritto:Come posso fare in modo che se aumenta l'altezza di una casella, aumenti allo stesso modo anche l'altezza delle caselle affiancate sulla stessa riga?
Se ho capito bene, mi sa che l'unica soluzione sia togliere i bordi dai tuoi controlli.
nonimpareromai ha scritto:E' possibile con del codice o con qualche funzione fare in modo di inserire un tasto (o altro) che mi permetta di copiare il record contenuto nella maschera e tutti i dati delle sottomaschere correlate nella stessa vista (della stessa query) in un nuovo record.
Basta aggiungere al bottone che hai già il comando SQL per copiare i records della tabella correlata. Ovviamente dovrai prima recuperare la chiave primaria del nuovo record creato (suppongo un autonumber), dopodiché dovrebbe essere banale.

HTH.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Re: [Access] - Utilizzo "CanGrow" e "copia Record"

Postdi nonimpareromai » 21/10/08 14:19

>>>>peccato per i bordi, che servirebbero a dare l'idea/creare una tabella con griglia vera e propria!!!!

>>>>per l'SQL da aggiungere al tasto ....un esempio.....chiedo troppo?!?!?!?!?!?!?

grazie in anticipo per la cortese attenzione.

ciao
nonimpareromai
Utente Junior
 
Post: 16
Iscritto il: 21/10/08 08:24

Re: [Access] - Utilizzo "CanGrow" e "copia Record"

Postdi nonimpareromai » 21/10/08 14:19

>>>>peccato per i bordi, che servirebbero a dare l'idea/creare una tabella con griglia vera e propria!!!!

>>>>per l'SQL da aggiungere al tasto ....un esempio.....chiedo troppo?!?!?!?!?!?!?

grazie in anticipo per la cortese attenzione.

ciao
nonimpareromai
Utente Junior
 
Post: 16
Iscritto il: 21/10/08 08:24

Re: [Access] - Utilizzo "CanGrow" e "copia Record"

Postdi archimede » 21/10/08 15:41

nonimpareromai ha scritto:un esempio.....chiedo troppo?
Posta la struttura delle tue tabelle, le relazioni fra di esse e l'attuale codice del tuo pulsante.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Re: [Access] - Utilizzo "CanGrow" e "copia Record"

Postdi nonimpareromai » 21/10/08 20:27

>>>Tabella_Ingrediente
ID_Ingrediente
ID_Ricetta
Nome_Ingrediente
Peso_Ingrediente
******************************************************************************************
>>>Tabella_Ricetta
ID_Ricetta
Titolo_Ricetta
Procedura
Note
********************************************************************************************

codice: Duplica Record
-----------------------------------------------------------------------------------------------------------
Codice: Seleziona tutto
Private Sub Comando8_Click()
On Error GoTo Err_Comando8_Click

    DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
    DoCmd.DoMenuItem acFormBar, acEditMenu, 2, , acMenuVer70
    DoCmd.DoMenuItem acFormBar, acEditMenu, 5, , acMenuVer70 'Paste Append

Exit_Comando8_Click:
    Exit Sub
Err_Comando8_Click:
    MsgBox Err.Description
    Resume Exit_Comando8_Click
   
End Sub
---------------------------------------------------------------------------------------------------------------------

non sono riuscito a mandare un allegato: '.JPG' >1 Mb; altre estensioni provate non risultano ammesse!

spero che si capisca comunque....
grazie per la pazienza :oops:

ciao
nonimpareromai
Utente Junior
 
Post: 16
Iscritto il: 21/10/08 08:24

Re: [Access] - Utilizzo "CanGrow" e "copia Record"

Postdi archimede » 22/10/08 08:18

Questo codice NON è testato, ma dovrebbe metterti sulla buona strada:
Codice: Seleziona tutto
Private Sub Comando8_Click()
    Dim sSQL As String
    Dim db As DAO.Database
    Dim lngIDRic As Long

    Set db = DBEngine(0)(0)

    If Me.Dirty Then
        Me.Dirty = False
    End If
    If Me.NewRecord Then
        MsgBox "Seleziona la ricetta da duplicare."
    Else
        'Duplica la ricetta
        With Me.RecordsetClone
            .AddNew
                !Titolo_Ricetta = Me.Titolo_Ricetta
                !Procedura = Me.Procedura
                !Note = Me.Note
            .Update
            .Bookmark = .LastModified
            lngIDRic = !ID_Ricetta

            'Duplica gli ingredienti
            If Me.nomeFormDettaglio.Form.RecordsetClone.RecordCount > 0 Then
                sSQL = "INSERT INTO Tabella_Ingrediente (ID_Ricetta, Nome_Ingrediente, Peso_Ingrediente) " & _
                    "SELECT " & lngIDRic & " As NewID_Ricetta, i.Nome_Ingrediente, i.Peso_Ingrediente" & _
                    "  FROM Tabella_Ingrediente As i" & _
                    " WHERE (i.ID_Ricetta = " & Me.ID_Ricetta & ");"
                db.Execute sSQL, dbFailOnError
            Else
                MsgBox "Ricetta duplicata, ma nessun ingrediente trovato.", vbInformation, "Information"
            End If

            'Visualizza la nuova ricetta
            Me.Bookmark = .LastModified
        End With
    End If

    Set db = Nothing
End Sub
HTH.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Re: [Access] - Utilizzo "CanGrow" e "copia Record"

Postdi nonimpareromai » 22/10/08 20:05

VBA! che passione.... mi attiva i neuroni nelle sue infinite opportunità di utilizzo (e nelle mie poche esperienze con excel).....
..peccato che ci siano pochi testi sacri... :-?

Comunque ho provato ad analizzare/comprendere il codice proposto, ma mi torvo in difficoltà con la sintassi del "nomeFormDettaglio"...accidenti all'ignoranza!!!!! :-? :-? :-? :-?
ho dato anche una sbirciatina all'help in linea, ma nulla...

nel dB ci sono due Forms:

>>>F_Ricetta
>>>SF_Ingrediente (ovviamente, sottomaschera del precedente)

Codice: Seleziona tutto
If Me.nomeFormDettaglio.Form.RecordsetClone.RecordCount > 0 Then


protresti suggerirmi la sintassi adattata, magari la regola generale????

a quest'ora incomincio a dare segni da ""cerebroleso"" :oops: :oops:
grazie
nonimpareromai
Utente Junior
 
Post: 16
Iscritto il: 21/10/08 08:24

Re: [Access] - Utilizzo "CanGrow" e "copia Record"

Postdi archimede » 22/10/08 21:58

If Me.SF_Ingrediente... ecc.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Re: [Access] - Utilizzo "CanGrow" e "copia Record"

Postdi nonimpareromai » 24/10/08 11:36

Codice: Seleziona tutto
If Me.SF_Ingrediente.Form.RecordsetClone.RecordCount > 0 Then


questo è il codice che utilizzo; ho verificato anche eventuali errori di "battitura", ma viene sempre fuori lo stesso messaggio di errore:

"errore di compilazione: Impossibile trovare il metodo o il membro dei dati"
nonimpareromai
Utente Junior
 
Post: 16
Iscritto il: 21/10/08 08:24

Re: [Access] - Utilizzo "CanGrow" e "copia Record"

Postdi archimede » 24/10/08 12:47

Beh, io avevo detto che il codice non è testato: purtroppo non ho Access per fare prove (uso Linux).

Prova a eseguire comunque l'INSERT togliendo l'if (e anche l'else, naturalmente): è solo un controllo nel caso in cui copi una ricetta che non ha ingredienti.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Re: [Access] - Utilizzo "CanGrow" e "copia Record"

Postdi nonimpareromai » 25/10/08 14:36

...bypassando l'If, then..... è andato tutto perfettamente!

grazie per l'aiuto e la pazienza.... :) :) :) :) :) :) :) :lol: :lol: :lol: :lol: :D :D :D :D
nonimpareromai
Utente Junior
 
Post: 16
Iscritto il: 21/10/08 08:24


Torna a Applicazioni Office Windows


Topic correlati a "[Access] - Utilizzo "CanGrow" e "copia Record"":


Chi c’è in linea

Visitano il forum: alfrimpa e 5 ospiti