title: Conferma prima della modifica

author: Alex De Rossi

text:
"Filippo" <
filip...@libero.it
> ha scritto nel messaggio
news:3f1f7...@news.dada.it...

Prova con questo
Function SaveRecord(X As String)
Dim frm As Form
Dim Cancel
Set frm = Forms(X)
If frm.Dirty = True Then
        Dim strmessage As String, strtitle As String
        Dim lResponse As Long
        strmessage = "Salvare le modifiche del record in corso?"
        strtitle = "Tuo titolo"
        lResponse = MsgBox(strmessage, vbYesNo + vbQuestion, strtitle)
        If lResponse = vbNo Then
            Cancel = True
            frm.Undo
        End If
    End If
End Function
Sul pulsante di chiusura della form prima di chiuderla prova a richiamare
tale funzione
Call SaveRecord("TuaMaschera")
Saluti
Alex De Rossi


title: Conferma prima della modifica

author: Filippo

text:
"Alex De Rossi" <omis...@SPAMlibero.it> ha scritto nel messaggio
news:lFLTa.199277$lK4.5...@twister1.libero.it...

Ti ringrazio per la risposta, non ho capito però dove devo inserire questo
codice, nel corpo della maschera? e devo inserire dei miei riferimenti ?
Ti ringrazio ancora, Filippo.


title: Conferma prima della modifica

text:
> Ti ringrazio per la risposta, non ho capito però dove devo inserire questo
> codice, nel corpo della maschera? e devo inserire dei miei riferimenti ?
> Ti ringrazio ancora, Filippo.
>
>
La funzione la puoi sistemare in un modulo e richiamarla in qualsiasi parte
del Db
Vai su moduli -- Nuovo modulo copia e incolla e salvi il modulo
per richiamare la funzione come ti ho detto prima
call SaveRecord("Nomedella maschera")
Io la richiamo dal pulsante di chiusura della form. quindi:
Private Sub CmdCHIUDI_Click()
On Error Resume Next
Call Record("NomeMashera")
    DoCmd.Close
End Sub


title: Conferma prima della modifica

author: Anto

text:
"Filippo" <
filip...@libero.it
> ha scritto nel messaggio
news:3f1f7...@news.dada.it...

Premetto che non sono molto esperto.
Comunque io utilizzo il Dirty per vedere se qualcosa è stato modificato, il
OldValue per rimetterla a posto
Mi spiego
Sul Click del tasto chiudi:
Dim Risposta As Integer
CtlC As Control
If Me.Dirty = True Then
  Risposta=MsgBox("C'è una modifica, laconfermi",vbYesNo)
   If Risposta = vbNo Then
    CICLO SU TUTTI I CAMPI
      For Each CtlC in Me Controls
        If CtlC= acTextBox Or CtlC = acComboBox Then
            CtlC.Value = CtlC.OldValue
        End If
     Next CtlC
  Else
    DoCmd.Close
  End If
End if


title: Conferma prima della modifica

author: Roberto dalla campagna

text:
Filippo <
filip...@libero.it
> wrote in message 3f1f7...@news.dada.it...

Vai sul Sito Comune (link qui sotto) e nella Sezione Forms leggi la FAQ di
Federico Luciani intitolata "Confermare il salvataggio dei dati".
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


title: Conferma prima della modifica

author: @Alex (Alessandro Baraldi)

text:
"Filippo" <
filip...@libero.it
> ha scritto nel messaggio
news:3f1f7...@news.dada.it...

Se vuoi intercettare ogni singolo cambiamento è una cosa un pò
ardua, se invece ti basta rilevare prima di effettuare il salvataggio
l'eventuale manomissione o modifica puoi intercettare l'Evento
OnDirty, oppure su BeforeUpdate la proprietà Dirty e forzare
Me.Undo e Cancel=True
@Alex.


title: Help su calcolo tempi in Access

text:
Ciao a tutti,
mi sono fatto un piccolo db con access con cui tenere i tempi che
dedico ai miei progetti personali ma ho trovato un "intoppo" che non so
come superare.
Ho una maschera in cui immetto i tempi che impiego a fare una
operazione (hh:mm inizio e hh:mm fine) e il conteggio va ottimamente ma
non riesco a scorporare la pausa pranzo / cena (fisso a 1h per
comodità) e a riportare l'attività al giorno successivo. Cioè dovrei
avere degli intervalli in cui viene effettuato il conteggio
(8.00~13.00, 14.00~19.00, 20.00-22.00) e che si riprenda al mattino nel
caso non sia stato terminato la sera prima.
Insomma un bel rovello.
Qualcuno ha già affrontato la sfida o ha qualche idea in merito?
Grazie a tutti.


title: Help su calcolo tempi in Access

author: Lorenzo(pyx)

text:
In
news:1163601186....@b28g2000cwb.googlegroups.com
,
sund...@centoper.it
 <
sund...@centoper.it
> typed:

Ciao,
Credo che il tema sia similare al conteggio dei giorni
lavorati partendo da un giorno iniziale e fino a quello di
fine, saltando ovviamente le festivita'.
Personalmente uso una routine che incrementa di una
unità il momento iniziale e conteggia fintantoche' rimango
al di fuori dei limiti di pausa dove la variabile di calcolo
del totale non viene incrementata.
Ci saranno altri sistemi ovviamente.
--
Lorenzo


title: Help su calcolo tempi in Access

text:
Lorenzo(pyx) ha scritto:

Si in effetti stavo guardando la gestione tempi che ho trovato sul sito
comune ma speravo in un qualcosa di più rapido anche se meno
dettagliato.
Grazie comunque della risposta. ^_^


title: Variare stampante specifca su report

author: Liones

text:
ma come cacchio si  varia (da vba) la stampante:
il report x deve essere stampato ora sulla stampante pippo
e ora sulla stampante pluto
ho trovato PrtDevMode ma è tutt'altro che chiaro !?
ciao


title: Variare stampante specifca su report

author: Silvio Berruti

text:
"Liones" <
pel...@tiscalinet.it
> ha scritto nel messaggio
news:9qhns2$shl$1...@lacerta.tiscalinet.it...

Mi pare che ci sia un esempio, preso dal sito M$, nella sezione Report del
Sito Comune.
--
Silvio
il sito comune di it.comp.appl.access:
http://www.sitocomune.com


title: Variare stampante specifca su report

author: Expo

text:
"Liones" <
pel...@tiscalinet.it
> ha scritto nel messaggio
news:9qhns2$shl$1...@lacerta.tiscalinet.it...

Occhio che non puoi usare il PrtDevMode in un MDE...


title: Variare stampante specifca su report

author: MegaMax

text:
> Occhio che non puoi usare il PrtDevMode in un MDE...
Per quale oscuro motivo?
Max


title: Variare stampante specifca su report

author: warp

text:
"MegaMax"
>
> > Occhio che non puoi usare il PrtDevMode in un MDE...
>
> Per quale oscuro motivo?
Perchč in modalitą p-compilata ".MDE", non puoi aprire in modalitą Design
maschere o reports...
Comunque la versione XP, attraverso il nuovo oggetto Printer bypassa il
problema.
Ciao, warp


title: Variare stampante specifca su report

text:
"warp" <
war...@libero.it
> ha scritto nel messaggio
news:ZOfz7.36870$1H1.3...@news.infostrada.it...

Per caso sai come risolvere il prb con A97 e mde ?


title: Variare stampante specifca su report

author: Re Artů

text:
"Expo" <
esp...@snet.it
> ha scritto nel messaggio
news:9rj83m$od9$1...@fe1.cs.interbusiness.it...
>
> "warp" <
war...@libero.it
> ha scritto nel messaggio
> news:ZOfz7.36870$1H1.3...@news.infostrada.it...
> >
> > "MegaMax"
> > >
> > > > Occhio che non puoi usare il PrtDevMode in un MDE...
> > >
> > > Per quale oscuro motivo?
> >
> > Perchè in modalità p-compilata ".MDE", non puoi aprire in modalità
Design
> > maschere o reports...
> >
> > Comunque la versione XP, attraverso il nuovo oggetto Printer bypassa il
> > problema.
>
> Per caso sai come risolvere il prb con A97 e mde ?
>
>
Io cambio la stampante predefinita di windows, stampo e poi  rimetto la
stampante di prima... fa schifo anche a me ma. ...
ciao


title: colorare di rosso etichetta

author: Cosimo S,

text:
In un maschera tabellone turni mensili vorrei colorare di rosso le
etichette corrispondenti ai giorni del mese delle domeniche.
Ho provato in rete ma non sono riuscito a trovare niente,
qualcuno può darmi qualche indicazione ?
Grazie


title: colorare di rosso etichetta

author: Carlo Costarella

text:
"Cosimo S," <
cosi...@gmail.com
> ha scritto nel messaggio
news:eaf6c070-8989-4bbc...@h30g2000vbr.googlegroups.com...
In un maschera tabellone turni mensili vorrei colorare di rosso le
etichette corrispondenti ai giorni del mese delle domeniche.
Ho provato in rete ma non sono riuscito a trovare niente,
qualcuno pu� darmi qualche indicazione ?
Grazie
Io farei tutto da codice.
Sostanzialmente si tratta di verificare se il giorno della data � una
domenica.
Per esempio se da questa funzione, a cui passo una data, ottengo True, vuol
dire che si tratta di una domenica:
Public Function DimmiDomenica(Unadata As Date) As Boolean
If Weekday(Format(Unadata, "dd/mm/yyyy"), vbMonday) = 7 Then
DimmiDomenica = True
Else
DimmiDomenica = False
End If
End Function
Dunque posso sfruttare la funzione per esempio cos�:
If DimmiDomenica(Format(MiaData, "dd/mm/yyyy"))  = True Then
Me.TuaEtichetta.BackColor = vbGreen '(verde - per il rosso vbRed)
Else
me.Tuaetichetta.BackStyle = 0 '(trasparente)
Me.TuaEtichetta.BackColor = -
2147483633
 '(puoi usare il colore che vuoi)
End if
Potresti ulteriormente semplificare incorporando il tutto in un'unica
istruzione:
If Weekday(Format(Tuadata, "dd/mm/yyyy"), vbMonday) = 7 then
Me.TuaEtichetta.BackColor = vbGreen '(verde - per il rosso vbRed)
Else
me.Tuaetichetta.BackStyle = 0 '(trasparente)
Me.TuaEtichetta.BackColor = -
2147483633
 '(puoi usare il colore che vuoi)
End if
Ciao, Carlo


title: colorare di rosso etichetta

author: OneEDP

text:
Cosimo S, wrote:
> In un maschera tabellone turni mensili vorrei colorare di rosso le
> etichette corrispondenti ai giorni del mese delle domeniche.
> Ho provato in rete ma non sono riuscito a trovare niente,
> qualcuno pu� darmi qualche indicazione ?
> Grazie
Se ti posizioni sul controllo puoi impostare la formattazione condizionale
inserendo come espressione
Weekday([DataDocumento],vbMonday)=7 e dare la formattazione che vuoi
Ciao


title: colorare di rosso etichetta

text:
On 17 Set, 10:34, "OneEDP" <OneEDP@antispam> wrote:
> Cosimo S, wrote:
> > In un maschera tabellone turni mensili vorrei colorare di rosso le
> > etichette corrispondenti ai giorni del mese delle domeniche.
> > Ho provato in rete ma non sono riuscito a trovare niente,
> > qualcuno può darmi qualche indicazione ?
> > Grazie
>
> Se ti posizioni sul controllo puoi impostare la formattazione condizionale
> inserendo come espressione
> Weekday([DataDocumento],vbMonday)=7 e dare la formattazione che vuoi
> Ciao
si tratta di 31 etichette quali intestazioni di altrettanti
controlli,
corrispondenti ai giorni del mese, mi pare
che per le etichette non ci sia la formattazione condizionale, o no ?


title: colorare di rosso etichetta

text:
On 17 Set, 09:28, "Carlo Costarella" <
carlocoslib...@libero.it
> wrote:
> "Cosimo S," <
cosim...@gmail.com
> ha scritto nel messaggionews:eaf6c070-8989-4bbc...@h30g2000vbr.googlegroups.com...
> In un maschera tabellone turni mensili vorrei colorare di rosso le
> etichette corrispondenti ai giorni del mese delle domeniche.
> Ho provato in rete ma non sono riuscito a trovare niente,
> qualcuno può darmi qualche indicazione ?
> Grazie
>
> Io farei tutto da codice.
> Sostanzialmente si tratta di verificare se il giorno della data è una
> domenica.
> Per esempio se da questa funzione, a cui passo una data, ottengo True, vuol
> dire che si tratta di una domenica:
> Public Function DimmiDomenica(Unadata As Date) As Boolean
> If Weekday(Format(Unadata, "dd/mm/yyyy"), vbMonday) = 7 Then
> DimmiDomenica = True
> Else
> DimmiDomenica = False
> End If
> End Function
> Dunque posso sfruttare la funzione per esempio così:
> If DimmiDomenica(Format(MiaData, "dd/mm/yyyy"))  = True Then
> Me.TuaEtichetta.BackColor = vbGreen '(verde - per il rosso vbRed)
> Else
> me.Tuaetichetta.BackStyle = 0 '(trasparente)
> Me.TuaEtichetta.BackColor = -
2147483633
 '(puoi usare il colore che vuoi)
> End if
>
> Potresti ulteriormente semplificare incorporando il tutto in un'unica
> istruzione:
> If Weekday(Format(Tuadata, "dd/mm/yyyy"), vbMonday) = 7 then
> Me.TuaEtichetta.BackColor = vbGreen '(verde - per il rosso vbRed)
> Else
> me.Tuaetichetta.BackStyle = 0 '(trasparente)
> Me.TuaEtichetta.BackColor = -
2147483633
 '(puoi usare il colore che vuoi)
> End if
>
> Ciao, Carlo
Grazie Carlo
provo a spiegarmi meglio
il mio tabellone è composto tra l'altro da 31 campi corrispondenti
ai giorni del mese, e altrettante etichette quali intestazioni delle
colonne,
per colorare le etichette corrispondenti alle domeniche ho fatto così:
.....
xmese = Me.CasellaCombinata105.ListIndex + 1
primogiorno = DateSerial(Year(Date), xmese, 1)
UltimoGiorno = Day(DateSerial(Year(Date), xmese + 1, 1) - 1)
NumGiorno = Weekday(primogiorno, vbMonday)
numlabel = 8 - NumGiorno
For x = 1 To UltimoGiorno
    NOMELABEL = "etichetta_" & Trim(Str(numlabel)) ' costruisce il
nome dell'etichetta
    Me(NOMELABEL).ForeColor = 255
    Me(NOMELABEL).FontBold = True
    Me(NOMELABEL).BackColor = 65280
    numlabel = numlabel + 7
Next
in pratica in modo molto rozza mi ricavo il primo giorno del mese
e così trovo le domeniche, anche se funziona preferirei qualcosa
di più elegante o meglio ancora se era possibile qualcosa tipo
la formattazione condizionale
Ciao


title: colorare di rosso etichetta

text:
Cosimo S, wrote:
> On 17 Set, 10:34, "OneEDP" <OneEDP@antispam> wrote:
>> Cosimo S, wrote:
>>> In un maschera tabellone turni mensili vorrei colorare di rosso le
>>> etichette corrispondenti ai giorni del mese delle domeniche.
>>> Ho provato in rete ma non sono riuscito a trovare niente,
>>> qualcuno pu� darmi qualche indicazione ?
>>> Grazie
>>
>> Se ti posizioni sul controllo puoi impostare la formattazione
>> condizionale inserendo come espressione
>> Weekday([DataDocumento],vbMonday)=7 e dare la formattazione che vuoi
>> Ciao
>
> si tratta di 31 etichette quali intestazioni di altrettanti
> controlli,
> corrispondenti ai giorni del mese, mi pare
> che per le etichette non ci sia la formattazione condizionale, o no ?
S� per le etichette non c'�.
Devi prender il secchio di vernice � pitturarle una per una con un ciclo for
next.
Oppure convertire le etichette in caselle di testo e darli la formattazione
condizionata che funziona, non  d� per scontato che si sappia, anche con
espressioni riferite ad altri controlli ed eviti il ciclo
Ciao.


title: colorare di rosso etichetta

text:
"Cosimo S," <
cosi...@gmail.com
> ha scritto nel messaggio
news:f776aca2-c309-41ae...@q14g2000vbi.googlegroups.com...
cut
mi spiego meglio:
il record � formato tra l'altro, oltre che dall'id anagrafica e dal
campo mese da
31 campi uno per ogni giorno del mese, allora io molto artiginalmente
mi sono
costruito questa  routine che funziona ma pensavo a qualcosa di pi�
elegante
o immediata come appunto la formattazione condizionale che ho usato
per colorare i caratteri dei 31 campi ad esempio di rosso quando
contiene
la lettera R   che significa riposo e cosi via.
Qualcosa del genere?
http://www.carlocostarella.it/ImgTurni.jpg
Ciao, Carlo


title: colorare di rosso etichetta

text:
On 17 Set, 18:34, "Carlo Costarella" <
carlocoslib...@libero.it
> wrote:
> "Cosimo S," <
cosim...@gmail.com
> ha scritto nel messaggionews:f776aca2-c309-41ae...@q14g2000vbi.googlegroups.com...
> cut
>
> mi spiego meglio:
> il record è formato tra l'altro, oltre che dall'id anagrafica e dal
> campo mese da
> 31 campi uno per ogni giorno del mese, allora io molto artiginalmente
> mi sono
> costruito questa  routine che funziona ma pensavo a qualcosa di più
> elegante
> o immediata come appunto la formattazione condizionale che ho usato
> per colorare i caratteri dei 31 campi ad esempio di rosso quando
> contiene
> la lettera R   che significa riposo e cosi via.
>
> Qualcosa del genere?
http://www.carlocostarella.it/ImgTurni.jpg
>
> Ciao, Carlo
per quanto riguarda le etichette è esattamente quello che ho ottenuto
io col mio
ciclo, per i campi invece con la formattazione condizionale è tutto ok
tu per le etichette che metodo hai usato ?


title: colorare di rosso etichetta

text:
"Cosimo S," <
cosi...@gmail.com
> ha scritto nel messaggio
news:a2f5c1ba-8a88-4194...@m11g2000vbl.googlegroups.com...
On 17 Set, 18:34, "Carlo Costarella" <
carlocoslib...@libero.it
> wrote:
> "Cosimo S," <
cosim...@gmail.com
> ha scritto nel
> messaggionews:f776aca2-c309-41ae...@q14g2000vbi.googlegroups.com...
> cut
>
> mi spiego meglio:
> il record � formato tra l'altro, oltre che dall'id anagrafica e dal
> campo mese da
> 31 campi uno per ogni giorno del mese, allora io molto artiginalmente
> mi sono
> costruito questa routine che funziona ma pensavo a qualcosa di pi�
> elegante
> o immediata come appunto la formattazione condizionale che ho usato
> per colorare i caratteri dei 31 campi ad esempio di rosso quando
> contiene
> la lettera R che significa riposo e cosi via.
>
> Qualcosa del genere?
http://www.carlocostarella.it/ImgTurni.jpg
>
> Ciao, Carlo
per quanto riguarda le etichette � esattamente quello che ho ottenuto
io col mio
ciclo, per i campi invece con la formattazione condizionale � tutto ok
tu per le etichette che metodo hai usato ?
__----------------------------------
Pi� o meno la stessa cosa: le etichette hanno un nome del tipo 01E, 02E,
03E...
"E" mi fa capire che si tratta di una etichetta perch� ho la necessit� di
applicare il codice anche agli altri controlli della form che hanno altri
postfissi come "A", "B" o "C" e che devono colorarsi in modo diverso.
(qui si possono usare le propriet� TAG del controllo)
Via codice ciclo su ciascun controllo filtrando solo le etichette:
ControlType = 100 And Right(.Name, 1) = "E" .
MioGiorno sar� MioGiorno = Left(.Name, 2), cio� i primi due caratteri del
nome dell'etichetta.
A questo punto mi costruisco la data:
MiaData = MioGiorno & "/" & RestituisciMese(Me.Mese) & "/" & Me.Anno
Se
If Weekday(Format(MiaData, "dd/mm/yyyy"), vbMonday) = 7 Then
applico il colore all'etichetta:
Set ML = Me.Controls(.Name)
            With ML
            .BackColor = vbGreen
            End With
E' chiaro che possono esserci modi diversi e che il codice esposto � solo
uno spezzone, ma il concetto � quello.
Ciao, Carlo


title: colorare di rosso etichetta

text:
On 17 Set, 20:43, "Carlo Costarella" <
carlocoslib...@libero.it
> wrote:
> "Cosimo S," <
cosim...@gmail.com
> ha scritto nel messaggionews:a2f5c1ba-8a88-4194...@m11g2000vbl.googlegroups.com...
> On 17 Set, 18:34, "Carlo Costarella" <
carlocoslib...@libero.it
> wrote:
>
>
>
>
>
> > "Cosimo S," <
cosim...@gmail.com
> ha scritto nel
> > messaggionews:f776aca2-c309-41ae...@q14g2000vbi.googlegroups.com...
> > cut
>
> > mi spiego meglio:
> > il record è formato tra l'altro, oltre che dall'id anagrafica e dal
> > campo mese da
> > 31 campi uno per ogni giorno del mese, allora io molto artiginalmente
> > mi sono
> > costruito questa routine che funziona ma pensavo a qualcosa di più
> > elegante
> > o immediata come appunto la formattazione condizionale che ho usato
> > per colorare i caratteri dei 31 campi ad esempio di rosso quando
> > contiene
> > la lettera R che significa riposo e cosi via.
>
> > Qualcosa del genere?
http://www.carlocostarella.it/ImgTurni.jpg
>
> > Ciao, Carlo
>
> per quanto riguarda le etichette è esattamente quello che ho ottenuto
> io col mio
> ciclo, per i campi invece con la formattazione condizionale è tutto ok
> tu per le etichette che metodo hai usato ?
> __----------------------------------
>
> Più o meno la stessa cosa: le etichette hanno un nome del tipo 01E, 02E,
> 03E...
> "E" mi fa capire che si tratta di una etichetta perchè ho la necessità di
> applicare il codice anche agli altri controlli della form che hanno altri
> postfissi come "A", "B" o "C" e che devono colorarsi in modo diverso.
> (qui si possono usare le proprietà TAG del controllo)
> Via codice ciclo su ciascun controllo filtrando solo le etichette:
> ControlType = 100 And Right(.Name, 1) = "E" .
> MioGiorno sarà MioGiorno = Left(.Name, 2), cioè i primi due caratteri del
> nome dell'etichetta.
> A questo punto mi costruisco la data:
> MiaData = MioGiorno & "/" & RestituisciMese(Me.Mese) & "/" & Me.Anno
> Se
> If Weekday(Format(MiaData, "dd/mm/yyyy"), vbMonday) = 7 Then
> applico il colore all'etichetta:
> Set ML = Me.Controls(.Name)
>             With ML
>             .BackColor = vbGreen
>             End With
> E' chiaro che possono esserci modi diversi e che il codice esposto è solo
> uno spezzone, ma il concetto è quello.
>
> Ciao, Carlo
Ok grazie


title: Etichette verticali

author: kecco's

text:
Ciao a tutti!
Ho un problema con delle etichette su una maschera.
Vorrei che fossero visualizzate in verticale e per questo ho messo
"Sì" su "visualizza verticale" nelle proprietà (Altro).
Il problema è che la scritte vanno dall'alto verso il basso e io
vorrei il contrario: dal basso verso l'alto :-/
Qialcuno di voi sa come risolvere questo problema?
Grazie 1000!
F


title: Etichette verticali

author: MA

text:

www.lebans.com
--
_ _
Ciao
MAssimiliano Amendola
www.accessgroup.it
Cisa - Conferenza Italiana per Sviluppatori Access
Info:
www.donkarl.com/it


title: Etichette verticali

text:
>
www.lebans.com
> --
azz!
speravo in qualcosa di più immediato...
certo che per girare un'etichetta...e poi in generale si legge dal
basso in alto, pensa ai grafici... -100 punti per access
F


title: Formattazione visualizzazione maschere continue

text:
Ho il seguente problema: devo visualizzare un calendario, sotto forma di
maschere continue, evidenziando in rosso (o altro colore) le domeniche e i
giorni festivi.
Qualcuno puň aiutarmi?
Grazie!


author: Pablitomf (Maurizio Facciuti)

text:
Rosa.Rab ha scritto:

Dalla vers. 2000 in poi c'č la formattazione condizionale.
Diciamo che il tuo campo data si chiami "Datamese".
evidenzi il campo/Formato/Formatt.condizionale
condizione1:
l'espressione č - Format([Datamese];"ggg")="sab" - ci metti lo sfondo
giallo
condizione2:
l'espressione č - Format([Datamese];"ggg")="dom" - ci metti lo sfondo rosso
ok?
--
Ciao
Pablitomf (Maurizio Facciuti)
Access : Ver.97 - 2K
----------------------------------
http://www.accessgroup.it/
http://www.sitocomune.com/
----------------------------------
Non mi fido molto delle statistiche, perchč un uomo con la testa nel forno
acceso e i piedi nel congelatore statisticamente ha una temperatura media.
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news
 segnala gli abusi ad
ab...@newsland.it


title: SourceObjecy???

author: Alberto

text:
Come faccio per determinare il percorso e il nome di file completo
relativi al file collegato ad una cornice oggetto???
Penso di dover utilizzare SourceObject ma non so come od è forse
necessario utilizzare quanlche altra proprietà?
Grazie
Alberto


title: SourceObjecy???

author: Alessandro Baraldi

text:
"Alberto" <
ros...@tin.it
> wrote in message
news:JzOce.842743$
b5.37...@news3.tin.it

Quel tipo di controllo non è da usare se il tuo intento
è visualizzare un Immagine.
Usa il controllo Immagine, da popolare atraverso la
proprietà Picture alla quale passerai il PATH completo,
e se devi recuperarlo ti basta interrogare la stessa
proprietà.
Vai sul sito comune e trovi molti DEMO di come gestire
al meglio le immagini.
Ciao
@Alex
--
Posted via Mailgate.ORG Server -
http://www.Mailgate.ORG


title: SourceObjecy???

author: Rosanna & Alberto

text:
Nella cornice voglio inserire vari tipi di documento, non solo imagini: doc,
xls, etc.
Penso quindi di dover utilizzare una cornice con un oggetto collegato e non
un controllo immagine.
Mi sai dare qualche consiglio? Sul sito comune non sono riuscito a trovare
esempi di questo tipo.
Grazie
Alberto
Alessandro Baraldi <
ik2...@libero.it
> wrote in message
cf028853836c11ab26...@mygate.mailgate.org...



title: SourceObjecy???

text:
"Rosanna & Alberto" <
ros...@tin.it
> wrote in message
news:qu8de.1316848$
35.49...@news4.tin.it
> Nella cornice voglio inserire vari tipi di documento, non solo imagini: doc,
> xls, etc.
> Penso quindi di dover utilizzare una cornice con un oggetto collegato e non
> un controllo immagine.
> Mi sai dare qualche consiglio? Sul sito comune non sono riuscito a trovare
> esempi di questo tipo.
> Grazie
>
> Alberto
Sinceramente occorerebbe capire bene che tipo di gestione
vorresti fare dei "documenti".
Io non ho mai usato quel metodo perchè lo ritengo non valido.
Al fine di gestire file di Office in genere uso l'automazione
di Office che mi permette di interagire con loro.
Per le immagini come ti ho accennato il controllo immagine.
Sul SitoComune non hai trovato nulla proprio perchè quello
che vuoi fare non è tecnicamente una soluzione valida.
Detto questo non sò come fare per convincerti.
Buon lavoro.



title: n°progressivo con anno

text:
in un DB multiutente devo formattare il contatore "progressivo" in
formato 12345/2007,
il contatore è formato testo,
ho inserito nel controllo prima di aggiornare della maschera "anagrafe" il
seguente codice:
Private Sub Form_BeforeUpdate(Cancel As Integer)
If Me.NewRecord Then
Me.N_autorizzazione = "" & Format(Date, "aaaa") & "/" &
Format(IIf(IsNull(DMax("[]", "[]", "[] like '" & Format(Date, "aaaa") &
"/????'")), 1, Right(DMax("]", "[]", "[] like '" & Format(Date, "aaaa") &
"/????'"), 4) + 1), "0000")
End If
End Sub
ma come al solito, quando chiedo aiuto al NG, mi da un semplice numero
progressivo
dove sbaglio?
chi mi può aiutare?
grazie
luigi
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news
 segnala gli abusi ad
ab...@newsland.it


title: n°progressivo con anno

author: ciroteo

text:

> questo articolo e` stato inviato via web dal servizio gratuitohttp://
www.newsland.it/newssegnala
 gli abusi ad
a...@newsland.it
sai come faccio io? 20070001
uso questo numero come contatore di tutti i documenti, Cosi ho nelle
prime quattro cifre l'anno e oltre 9999 documenti in un anno ...
se ci stai come volume di dati può essere gestito facilmente senza
ricorrere a format vari ma solo tramite un dmax.


title: n°progressivo con anno

text:
ciroteo ha scritto:


no!  purtroppo a me serve nel formato numero barra anno  XXXXX200X
e la formula che ho scelto funziona come valore predefinito, ma se lo
inserisco come codice dà errore!
luigi
--
questo articolo e` stato inviato via web dal servizio gratuito



title: n°progressivo con anno

text:
On 3 Lug, 07:44,
onofriolNOtS...@tin.it
 (luigi.onofrio) wrote:
> ciroteo ha scritto:
>
>
>
>
>
> > On 2 Lug, 12:17,
onofriolNOtS...@tin.it
 (luigi.onofrio) wrote:
> > > in un DB multiutente devo formattare il contatore "progressivo" in
> > > formato 12345/2007,
> > > il contatore è formato testo,
> > > ho inserito nel controllo prima di aggiornare della maschera "anagrafe" il
> > > seguente codice:
>
> > > Private Sub Form_BeforeUpdate(Cancel As Integer)
> > > If Me.NewRecord Then
> > > Me.N_autorizzazione = "" & Format(Date, "aaaa") & "/" &
> > > Format(IIf(IsNull(DMax("[]", "[]", "[] like '" & Format(Date, "aaaa") &
> > > "/????'")), 1, Right(DMax("]", "[]", "[] like '" & Format(Date, "aaaa") &
> > > "/????'"), 4) + 1), "0000")
> > > End If
>
> > > End Sub
>
> > > ma come al solito, quando chiedo aiuto al NG, mi da un semplice numero
> > > progressivo
> > > dove sbaglio?
> > > chi mi può aiutare?
> > > grazie
> > > luigi
>
> > > --
>
> > > questo articolo e` stato inviato via web dal servizio
>
> gratuitohttp://
www.newsland.it/newssegnalagli
 abusi ad
a...@newsland.it
>
> > sai come faccio io? 20070001
> > uso questo numero come contatore di tutti i documenti, Cosi ho nelle
> > prime quattro cifre l'anno e oltre 9999 documenti in un anno ...
> > se ci stai come volume di dati può essere gestito facilmente senza
> > ricorrere a format vari ma solo tramite un dmax.
>
> no!  purtroppo a me serve nel formato numero barra anno  XXXXX200X
> e la formula che ho scelto funziona come valore predefinito, ma se lo
> inserisco come codice dà errore!
> luigi
>
> --
>
> questo articolo e` stato inviato via web dal servizio gratuitohttp://
www.newsland.it/newssegnala
 gli abusi ad a...@newsland.it- Nascondi testo tra virgolette -
>
> - Mostra testo tra virgolette -
le virgolette sono a posto? intendo dire che da vba non puoi usare
apici doppi e a volte cambiano i punti e virgola e virgole varie ...
comunque non ho capito che errore ti da.
m


title: n°progressivo con anno

author: Roberto da Parma

text:
"ciroteo" <
matteo...@gmail.com
> ha scritto nel messaggio
news:1183454631....@c77g2000hse.googlegroups.com...


Ciro...Ciro...ti ricordi che te l'ho fatto vedere alla CISA3????
Hai ragione però...non ti ho lasciato il codice...provvedo...anche per
Luigi...
basta che nel controllo della form inserisci nella proprietà "valore
predefinito" il seguente codice debitamente modificato
="" & Format(IIf(IsNull(DMax("[tua_casella]";"[tua_tabella]";"[tua_casella]
like '???/" & Format(Date();"aa") &
"'"));1;Mid(DMax("[tua_casella]";"[tua_tabella]";"[tua_casella] like '???/"
& Format(Date();"aa") & "'");1;3)+1);"000") & "/" & Format(Date();"aa")
come potrai notare il formato che ti restituisce è del tipo 001/07, puoi
fare tutte le midifiche che vuoi per portarlo anche a una soluzione del tipo
0001/2007 o 0001-2007.... ecc...
vedi tu...
Ciao a tutti
--
Roberto da Parma


title: n°progressivo con anno

text:
Roberto da Parma ha scritto:






> vedi tu...
> Ciao a tutti
momento!!!!
io il codice non devo inserirlo nel "valore predefinito" in quanto è un
gestionale di rete a cui accedono vari utenti contemporaneamente e quindi
il numero calcolato come hai detto tu, a volte fallisce per numero già
utilizzato.
Quindi devo inserirlo come codice sulla form e quindi non và penso per
sintassi,
luigi
--
questo articolo e` stato inviato via web dal servizio gratuito



title: n°progressivo con anno

text:
luigi.onofrio wrote:
> Roberto da Parma ha scritto:
>
> momento!!!!
> io il codice non devo inserirlo nel "valore predefinito" in quanto è
> un gestionale di rete a cui accedono vari utenti contemporaneamente e
> quindi il numero calcolato come hai detto tu, a volte fallisce per
> numero già utilizzato.
> Quindi devo inserirlo come codice sulla form e quindi non và penso per
> sintassi,
> luigi
Non è vero, però su dirty della form devi salvare il record
--
--
MAssimiliano Amendola
www.accessgroup.it
Cisa - Conferenza Italiana Sviluppatori Access
Segrate (MI), 7-8 giugno 2007


title: n°progressivo con anno

text:
"MA" <
mas...@massimilianoamendola.it
> ha scritto nel messaggio
news:f6frjm$bdg$1...@tdi.cu.mi.it...


Grazie della precisazione...vrissimo...funziona benissimo anche per BE in
rete...in ogni caso se ad esempio si fa un errore e si cancella poi la
fattura o la registrazione, la numerazione riparte dall'ultimo valore
disponibile ( sempre che questo sia l'ultimo ).
Es.
001/07
002/07  <---- se cancello questo il progressivo sarà 004/07
003/07  <---- se cancello questo ripartirò alla successiva apertura da
questo numero
Ciao
--
Roberto da Parma


title: n°progressivo con anno

text:
Roberto da Parma ha scritto:
> "MA" <
mas...@massimilianoamendola.it
> ha scritto nel messaggio
> news:f6frjm$bdg$1...@tdi.cu.mi.it...
> luigi.onofrio wrote:
> > Roberto da Parma ha scritto:
> >
> > momento!!!!
> > io il codice non devo inserirlo nel "valore predefinito" in quanto è
> > un gestionale di rete a cui accedono vari utenti contemporaneamente e
> > quindi il numero calcolato come hai detto tu, a volte fallisce per
> > numero già utilizzato.
> > Quindi devo inserirlo come codice sulla form e quindi non và penso per
> > sintassi,
> > luigi
> Non è vero, però su dirty della form devi salvare il record
parliamone!
a me in un db BE-FE multiutente in cui su numero ho un controllo
incrementale semplice di solo numero, è capitato che :
1° utente inserisce un record, il controllo assegna il num.max+1, l'utente
ci mette, es. 5 minuti a completare il record prima di passare ad un nuovo
record,
mentre compila il record, un 2° utente inserisce un nuovo record, il
controllo assegna il numero+1 dell'ultimo record (quindi uguale all'altro
utente) questo 2° utente compila il record e passa avanti, tutto a posto.
il 1° utente, però, quando finisce di completare il record, passa al
successivo e rmane fregato! access gli dà errore che il numero assegnato è
già occupato con la conseguenza che perde i dati del record ed è costretto
a reinserirlo.
Questa sòituazione mi è capitata!.



title: n°progressivo con anno

author: PBsoft

text:
> a me in un db BE-FE multiutente in cui su numero ho un controllo
> incrementale semplice di solo numero, è capitato che :
> 1° utente inserisce un record, il controllo assegna il num.max+1,
> l'utente ci mette, es. 5 minuti a completare il record
> prima di passare ad un nuovo record,
> mentre compila il record, un 2° utente inserisce un nuovo record, il
> controllo assegna il numero+1 dell'ultimo record (quindi uguale
> all'altro utente) questo 2° utente compila il record e passa avanti,
> tutto a posto.
> il 1° utente, però, quando finisce di completare il record, passa al
> successivo e rmane fregato! access gli dà errore che il numero
> assegnato è già occupato con la conseguenza che perde i dati
> del record ed è costretto a reinserirlo.
> Questa situazione mi è capitata!.
Nessuno mette in dubbio il fatto che questa situazione ti sia capitata, ma
sicuramente questo è successo perché hai approcciato male il problema.
Nella situazione che descrivi, quando un utente si posizione su nuovo record,
gli viene fornito immediatamente un nuovo progressivo, prima ancora che egli
abbia compilato alcunché.
E' questo il comportamento sbagliato.
Il nuovo progressivo lo dovresti calcolare in fase di Form_BeforeUpdate.
E' lo stesso concetto che sta alla base del tipo contatore di Access. Access
ti fornisce un nuovo contatore ad ogni tentativo di creare un nuovo record,
"bruciando" i valori per i quali poi il record non viene salvato.
SQL Server, invece, per i campi autoincrementanti provvede solo in fase di
INSERT a fornire un nuovo valore, senza quindi "bruciare" alcun valore.
In entrambi i casi viene risolto il problema dell'univocità del valore fornito.
Nel tuo caso, invece, hai adottato proprio il comportamento opposto che,
come hai sperimentato direttamente, può portare semplicemente a qualche problema.
--
PBsoft di Gabriele Bertolucci
www.pbsoft.it
skype:pbsoftsolution


title: n°progressivo con anno

text:
PBsoft ha scritto:







e quindi come soluzione pratica mi puoi dire come fare?
grazie
> --
> PBsoft di Gabriele Bertolucci
>
www.pbsoft.it
> skype:pbsoftsolution



title: n°progressivo con anno

author: Diego Zuccotti

text:
> come potrai notare il formato che ti restituisce è del tipo 001/07, puoi
> fare tutte le midifiche che vuoi per portarlo anche a una soluzione del tipo
> 0001/2007 o 0001-2007.... ecc...
Leggendo la discussione mi sono reso conto di essere nella stessa
situazione, avevo bisogno di qualcosa di analogo e direi che funziona
anche per me.
Solo una domanda, nel caso volessi ordinare i vari record prima per
anno e poi per numero come potrei fare usando un formato del genere?
Non ho mai elaborato dati per l'ordinamento...
Tra l'altro sorge il dubbio di come fare a fare in modo che la
numerazione parta dall'ultimo numero usato per l'anno impostato, credo
che sia molto più pratico separare codice ed anno....


title: n°progressivo con anno

text:
Luigi, te lo chiedo come un favore personale: quota solo il minimo indispensabile!!!!
> e quindi come soluzione pratica mi puoi dire come fare? grazie
Scusa, ma nel mio post ti ho già detto come fare. Ti ho detto di utilizzare
l'evento Form_BeforeUpdate per recuperare il valore per il progressivo.
Ma hai letto il mio post?



title: n°progressivo con anno

text:
"Diego Zuccotti" <
diegoz...@gmail.com
> ha scritto nel messaggio
news:1183703597.7...@r34g2000hsd.googlegroups.com...


Allora facciamo un pò di chiarezza...
A luigi:
il metodo che ti ho suggerito non va incontro al problema che mi dicevi tu
prima
questo perchè il numero viene assegnato subito.
Quindi tu ci puoi impiegare anche 1 anno a compilare il tuo modulo che il
numero ti è già stato assegnato (stai solamente modificando il record)!
Il problema semmai (ma che è di tutti i tipi di contatore) è il recupero
della numerazione in caso di cancellazione ma questo è un'altro problema.
A diego:
idem come sopra in più per i tuoi ordinamenti puoi avere più soluzioni.
essendo però in questo caso il campo della numerazione un campo testo devi
prima spezzare i due termini e poi ordinarli come meglio credi....prima anno
e poi numero.



title: Formato data per Query di inserimento

author: Antonio Ganci

text:
Ho la necessità di scrivere una query di inserimento con una data espressa
per esteso:
INSERT INTO ... (Campo Data)
VALUES (#...#)
Il mio quesito è come esprimere la data all'interno dei # #:
mm/gg/aaaa hh:mm oppure in un altro modo?
Grazie per le risposte.
Saluti, Antonio.


title: Formato data per Query di inserimento

text:
Antonio Ganci wrote:
[CUT]
Dimenticavo Utilizzo A2000 e ADO.


title: Formato data per Query di inserimento

author: Roberto da casa

text:
"Antonio Ganci" <
a.ganciNO...@megattera.it
> ha scritto nel messaggio
news:apbd1t$2mec$1...@ID-162989.news.dfncis.de...

Se la data è 29 marzo 2002:
INSERT INTO NomeTabella1 ( Pippo, Data1 )
SELECT NomeTabella2.Nome, #3/29/2002# AS Espr1
FROM NomeTabella2;
Nel linguaggio SQL le date vanno sembre gestite nel formato anglosassone,
ovvero mm/dd/yyyy.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


title: Formato data per Query di inserimento

text:
Roberto da casa wrote:
[CUT]
> Nel linguaggio SQL le date vanno sembre gestite nel formato
> anglosassone, ovvero mm/dd/yyyy.
Lo pensavo anch'io, ma non ne ero sicuro al 100%.
Grazie.
Antonio.


title: Formato data per Query di inserimento

author: Maurizio Borrelli

text:
> "Antonio Ganci" news:apbd1t$2mec$
1...@ID-162989.news.dfncis.de
:
> Ho la necessità di scrivere una query di inserimento con una data espressa
> per esteso:
> INSERT INTO ... (Campo Data)
> VALUES (#...#)
> Il mio quesito è come esprimere la data all'interno dei # #:
> mm/gg/aaaa hh:mm oppure in un altro modo?
Public Function Test()
  On Error GoTo erh
  Dim myDblQ  As String
  Dim sql     As String
  Dim sQuery  As String
  Dim tDate   As Date
  myDblQ = Chr$(34)
  tDate = Now
  sql = "INSERT INTO"
  sql = sql & " Test"
  sql = sql & " ("
  sql = sql & " ID, Nome, Data, Importo"
  sql = sql & " )"
  sql = sql & " VALUES"
  sql = sql & " ("
  sql = sql & " <ID>, <Nome>, <Data>, <Importo>"
  sql = sql & " )"
  sQuery = "DELETE * FROM Test"
  CurrentDb.Execute sQuery, DAO.dbFailOnError
  sQuery = sql
  sQuery = Replace(sQuery _
                 , "<ID>" _
                 , str(1))
  sQuery = Replace(sQuery _
                 , "<Nome>" _
                 , myDblQ & "Pippo de' Pippis" & myDblQ)
  sQuery = Replace(sQuery _
                 , "<Data>" _
                 , Format$(tDate, "\#m/d/yyyy h.nn.ss\#"))
  sQuery = Replace(sQuery _
                 , "<Importo>" _
                 , str(0))
  Debug.Print sQuery
  CurrentDb.Execute sQuery, DAO.dbFailOnError
  sQuery = sql
  sQuery = Replace(sQuery _
                 , "<ID>" _
                 , str(2))
  sQuery = Replace(sQuery _
                 , "<Nome>" _
                 , myDblQ & "Paperon De' Paperoni" & myDblQ)
  sQuery = Replace(sQuery _
                 , "<Data>" _
                 , Format$(tDate, "\#yyyy/mm/dd hh:nn:ss\#"))
  sQuery = Replace(sQuery _
                 , "<Importo>" _
                 , str(0))
  Debug.Print sQuery
  CurrentDb.Execute sQuery, DAO.dbFailOnError
  sQuery = sql
  sQuery = Replace(sQuery _
                 , "<ID>" _
                 , str(3))
  sQuery = Replace(sQuery _
                 , "<Nome>" _
                 , myDblQ & "Pluto" & myDblQ)
  sQuery = Replace(sQuery _
                 , "<Data>" _
                 , str(CDbl(tDate)))
  sQuery = Replace(sQuery _
                 , "<Importo>" _
                 , str(0))
  Debug.Print sQuery
  CurrentDb.Execute sQuery, DAO.dbFailOnError
  Debug.Print "Fatto."
ext:
  On Error Resume Next
  Debug.Print
  Exit Function
erh:
  With err
    Debug.Print _
        "ERL#"; Format$(Erl, "0000"); ";" _
      ; "ERR#"; CStr(.Number); ":" _
      ; .Description; "."
  End With
  Resume Next
End Function
--
Ciao :-)
Maurizio
--------
?SPQR(C)
 X
--------


title: Formato data per Query di inserimento

text:
Maurizio Borrelli wrote:
[CUT]
>   sQuery = Replace(sQuery _
>                  , "<Data>" _
>                  , Format$(tDate, "\#m/d/yyyy h.nn.ss\#"))
[CUT]
Grazie per l'esempio, anche tu mi confermi la sinstassi mese/giorno/anno.
Ciao, Antonio.


title: Sql in VBA ( errore 3065 )

author: Eddie

text:
Scusate ragazzi,
non riesco a trovare un esempio su come eseguire Sql da Vba.
Mi sono fatto un esempino che sembra funzionare ma mi restituisce
l'errore 3065: " Impossibile eseguire una query di selezione
Private Sub HighStudents_Click()
Dim db As Database
Dim sql As String
Set db = CurrentDb()
sql = "SELECT Pratica.Stedente FROM Pratica;"
db.Execute sql
End Sub
In effetti la guida dice che db.execute è applicabile solo alle query
di comando, ma in rete ci sono tanti che utilizzano db.execute.
Dove sbaglio?
Mi fareste un esempio di sintassi piccolo piccolo?
Grazie mille
Eddie


title: Sql in VBA ( errore 3065 )

author: Alessandro Cara

text:
Eddie ha scritto:
> Scusate ragazzi,
>
> non riesco a trovare un esempio su come eseguire Sql da Vba.
>
> Mi sono fatto un esempino che sembra funzionare ma mi restituisce
> l'errore 3065: " Impossibile eseguire una query di selezione
>
>
> Private Sub HighStudents_Click()
> Dim db As Database
> Dim sql As String
> Set db = CurrentDb()
> sql = "SELECT Pratica.Stedente FROM Pratica;"
> db.Execute sql
> End Sub
>
> In effetti la guida dice che db.execute è applicabile solo alle query
> di comando, ma in rete ci sono tanti che utilizzano db.execute.
Su DAO? Ho i miei dubbi, forse con ADO.
>
> Dove sbaglio?
> Mi fareste un esempio di sintassi piccolo piccolo?
Dim rs as Variant (o DAO.recordset)
set rs = db.openrecordset("blabla")
--
ac


title: Sql in VBA ( errore 3065 )

text:

Scusami , ma non riesco a capire cosa vuoi dirmi .
Potresti spiegarmi meglio ?
Grazie mille
Ed.


title: Sql in VBA ( errore 3065 )

text:
Eddie ha scritto:
>On 14 Lug, 21:02, Alessandro Cara <
a...@ay-1asistemi.it
> wrote:
>> Eddie ha scritto:
>>
>> > Scusate ragazzi,
>>
>> > non riesco a trovare un esempio su come eseguire Sql da Vba.
>>
>> > Mi sono fatto un esempino che sembra funzionare ma mi restituisce
>> > l'errore 3065: " Impossibile eseguire una query di selezione
>>
>> > Private Sub HighStudents_Click()
>> > Dim db As Database
>> > Dim sql As String
>> > Set db =3D CurrentDb()
>> > sql =3D "SELECT Pratica.Stedente FROM Pratica;"
>> > db.Execute sql
>> > End Sub
>>
>> > In effetti la guida dice che db.execute =E8 applicabile solo alle query
>> > di comando, ma in rete ci sono tanti che utilizzano db.execute.
>>
>> Su DAO? Ho i miei dubbi, forse con ADO.
>>
>>
>>
>> > Dove sbaglio?
>> > Mi fareste un esempio di sintassi piccolo piccolo?
>>
>> Dim rs as Variant (o DAO.recordset)
>> set rs =3D db.openrecordset("blabla")
>> --
>> ac
>
>Scusami , ma non riesco a capire cosa vuoi dirmi .
>Potresti spiegarmi meglio ?
>
>Grazie mille
>Ed.
Non si possono 'eseguire' le query di selezione!!!!Selezionano solo.....puoi eseguire una query di comando (come dice la parola...) ma il SELECT ti serve solo per selezionare!!! DAO e ADO fanno la stessa cosa, solo che DAO lo usi solo con Access....Non so che cosa vuoi ottenere ma la teoria vuole che tu imponga una stringa (SQL = "SELECT quellochevuoi FROM quellochevuoi....") e poi o apri un recordset (set Dbs = currentdb, set Rst = Dbs.openrecordset(SQL)) e poi ci lavori, o magari usi la SELECT per l'origine di una maschera (FORMS!TuaMaschera.RecordSource = SQL)
--
Questo articolo e` stato inviato dal sito web
http://www.nonsolonews.it


title: Sql in VBA ( errore 3065 )

text:

..capito, capito, capito :-)))
Grazie
Eddie


title: ActiveX

author: Basjlico

text:
Ammetto di essere un pň fuori esercizio, ma non capisco perchč quando
dichiaro una variabile oggetto del tipo Dim TV as TreeView, l'Access2K
mi restituisce un errore 13 (type mismatch), mentre se dichiaro un
semplice Object va tutto ok (a parte il fatto che dovrei conoscere a
memoria tutti i metodi e gli eventi dell'oggetto in questione, sigh!).
Mercě
Ciao
Basjlico


title: cmsg cancel <whgoc.151$3Mj1.107@news01.bloor.is.net.cable.rogers.com>

author: joe


title: verificare l'ordine di posizione assoluta di un set di record di tabella correlata

author: Bruno - S95

text:
Access XP / 2003
Buon sabato a tutto il news.
Problema:
in una tabella, mediante form, vengono inseriti dei nominativi attinti da
un'altra tabella denominata "personale". Questi nominativi hanno un'ordine
di anzianità, pertanto quando inseriti nella form appaiono visualizzati con
il loro normale ordine. Io avrei la necessità di poter avere la posizione
assoluta in modo da poter fare riferimento per scrivere un altro dato a
fianco del nominativo; esempio: se il record è il nr. 1 o 2 dovrò far
apparire "autisti", mentre se il nr. è 3 o 4 dovrò far apparire
"macchinisti" e così via.
Sapreste darmi una drittà ?
Grazie
Bruno


text:
"Bruno - S95" <
mus...@virgilio.it
> ha scritto nel messaggio
news:4927d788$0$1084$4faf...@reader1.news.tin.it...

------------
Forse ho trovato un modo per risolvere, grazie a Baraldi. Devo solo provare.
Sicuramente era riportato questo link:
http://www.alessandrobaraldi.it/Dett....asp?IdFAQ=275


text:
"Bruno - S95" <
mus...@virgilio.it
> ha scritto nel messaggio
news:4927db60$0$1083$4faf...@reader1.news.tin.it...

-----------------
Negativo, per le mie conoscenze, non sono riuscito a trarre spunto e
risolvere il problema.
Ciao, Bruno


text:
Bruno - S95 ha scritto:

Personalmente non ho capito affatto quale sia la regola alla base.
In genera la posizione assoluta la da un Id counter.
Ma ho il vago sospetto che la tua sia una posizione "relativante"
assoluta o "assolutamente" relativa. Scusami la celia ma sono come
Jessica Rabbit, mi disegnano cosi'.
--
ac


text:
"Alessandro Cara" <
al...@ay-1asistemi.it
> ha scritto nel messaggio
news:ukSVk.34797$8%.4673@tornado.fastwebnet.it...

-------------
Ciao Caro Cara, è tutto ok; l'umorismo non guasta mai.
Bruno


text:
"Bruno - S95" <
mus...@virgilio.it
> ha scritto nel messaggio
news:4927d788$0$1084$4faf...@reader1.news.tin.it...

----------------------
allego risposta di Giorgio Rancati, che ringrazio infinitamente.
Se la maschera è in visualizzazione "Maschera singola" basta nserire una
casella testo,  nella sua origine controllo andrai a mettere:
----
=Choose([Form].[CurrentRecord];"Autisti";"Autisti";"Macchinisti";"Macchinisti")
----
Ciao
--
Giorgio Rancati
[Office Access MVP]
Grazie ancora, Bruno


title: AIUTO! SELEZIONE RECORDS CON QUERY

author: ufficio

text:
Salve a tutti.
Vorrei, tramite query, selezionare da un database solo i records che nel
campo "descrizione" contengano una sequenza di caratteri specificata da
immissione parametro.
Il bello, anzi il brutto, è che i records selezionati devono contenere
questa sequenza non solo all'inizio del campo "testo" (avrei usato like) ma
anche all'interno di questo campo.
Es. se la richiesta parametro è "casa":
i records selezionati sono quelli che nel campo testo hanno la parola "casa"
sia all'inizio del testo..... "casa acquistata il 24/01/1985"..... che
all'interno del testo...." il 15/04/1982 la casa è stata acquistata".
Spere di essere stato abbastanza chiaro.
Premetto che sono un profondo Sconoscitore di VB.....
Aiutatemi.
Grazie


title: AIUTO! SELEZIONE RECORDS CON QUERY

author: Paolo A.

text:
ufficio ha scritto:

puoi usare comunque il like,in quanto l'operatore like prevede 3 forme:
Like Testo*   seleziona solo quelli che iniziano con Testo
Like *Testo   seleziona solo quelli che finiscono per Testo
Like *Testo* seleziona tutti quelli che contengono la parola testo (inizio, fine
e all'interno)
ciao
Paolo


title: AIUTO! SELEZIONE RECORDS CON QUERY

author: Antonio Biso

text:
ufficio <
a...@aa.it
> wrote in message 8t649k$aoj$1...@serv1.iunet.it...
> Es. se la richiesta parametro è "casa":
> i records selezionati sono quelli che nel campo testo hanno la parola
"casa"
> sia all'inizio del testo..... "casa acquistata il 24/01/1985"..... che
> all'interno del testo...." il 15/04/1982 la casa è stata acquistata".
> Spere di essere stato abbastanza chiaro.
> Premetto che sono un profondo Sconoscitore di VB.....
E anche di SQL, oserei aggiungere.
Like "*casa*"
Antonio


title: Numerare progressivamente due campi in una query 2

author: miconet

text:
Ciao a tutti,
sto progettando un database per la catalogazione di una collezione di
cartoline.
Ogni cartolina deve essere numerata progressivamente in base ad un
elenco generale e ad un elenco per località di provenienza della
cartolina.
In pratica:
nella tabella "Cartoline", ho i seguenti campi:
ID_Cartolina;
Descrizione Cartolina;
ID_Città;
Città.
Il campo "ID_Cartolina" dovrebbe contenere la numerazione progressiva
dei record inseriti mentre il campo "ID_Città" dovrebbe contenere la
numerazione progressiva relativa alla città inserita.
Esempio:
ID_Cartolina   Descrizione Cartolina   ID_Città    Città
    1          Veduta del Duomo           1        Milano
    2          P.zza San Babila           2        Milano
    3          Via Toledo                 1        Napoli
    4          P.zza delle Muse           1        Roma
    5          Via Verdi                  2        Napoli
Per finire, entrambe le numerazioni dovrebbero aggiornarsi ogni
qualvolta venisse eliminato un record così da permettere all'utente di
conoscere (all'atto dell'inserimento di una nuova cartolina)quante
cartoline possiede in tutto e quante relative alla città cui si
riferisce la cartolina in questione.
Spero di essere stato chiaro.
Grazie
Michele


author: TheMax

text:
miconet wrote:
> Ciao a tutti,
[CUT]
> Spero di essere stato chiaro.
Ti stavo rispondendo
Solitamente non si apre un nuovo thread fa solamente confusione.
> Grazie
> Michele
Prego,
Massimo


title: Quando usare le transazioni?

author: Demone

text:
Buongiorno a tutti.
Per cortesia, sapreste indicarmi in quali casi e' bene usare le transazioni?
Grazie, Demone
--------------------------------
Inviato via
http://usenet.libero.it


title: Quando usare le transazioni?

author: marco

text:
"Demone" <
nonlegg...@yahoo.it
> ha scritto nel messaggio
news:147Z162Z114Z147...@usenet.libero.it...

In parole semplici quando vuoi che una serie di operazioni o sia effettuata
del tutto o per niente.
Es. trasferimento di fondi da un conto all'altro
Devi usare una transazione al fine di evitare che i soldi escano da un
conto, la procedura si blocchi per qualche motivo, senza che vengano
accreditati sull'altro.


title: Quando usare le transazioni?

text:
"Demone" <
nonlegg...@yahoo.it
> ha scritto nel messaggio
news:147Z162Z114Z147...@usenet.libero.it...
> Buongiorno a tutti.
> Per cortesia, sapreste indicarmi in quali casi e' bene usare le
transazioni?
> Grazie, Demone
>
Vai sul Sito Comune (link qui sotto) e nella Sezione General prova a vedere
se ti è utile leggere la FAQ di Sib intitolata "Cosa sono e come funzionano
le transazioni?".
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


title: Importare in un nuovo record dati anagrafici già presenti

text:
Salve a tutti, torno a scrivervi per risolvere questo credo piccolo
problema, dunque ho una tabella anagrafica, quando inserisco cognome e
nome mi viene segnalato tramite apertura di altra maschera se c'è
oppure se si tratta solo di omonimia .la funzione che uso è questa:
If Not IsNull(DLookup("Cognome", "Tabellaanagrafica", "Cognome=" & _
Chr$(34) & Me![Cognome] & Chr$(34) & _
" AND Nome = " & Chr$(34) & Me!Nome & Chr$(34))) Then
   MsgBox (Me!Cognome & " " & Me!Nome & " E' PRESENTE IN ARCHIVIO"),
vbExclamation, "ATTENZIONE!"
   Cancel = False
   End If
DoCmd.OpenForm ("Mcognome"), , , "[Cognome]&[Nome]=" & "'" &
Me![Cognome] & [Nome] & "'"
End If
End Sub
Vorrei se si tratta della stessa persona che mi si riempissero i campi
indirizzo cap e città magari premendo un tasto nella maschera
"Mcognome" non so ditemi voi.
Grazie Fabio


author: Sergio MAZZA

text:
<
uom...@hotmail.it
> ha scritto nel messaggio
news:3e355168-3ebc-4653...@p2g2000prn.googlegroups.com...



End If
End Sub

[risposta]
Ho il sentore che tu non abbia strutturato bene le tabelle perché la copia
di informazioni da tabella a tabella è fonte di guai (leggi: ridondanza di
dati); es. se in anagrafica cambia l'indirizzo del sig. rossi che fai?
Cerchi il sig. rossi in tutte le tabelle e gli cambi l'indirizzo? No!
Meno che mai il ripetere delle stesse informazioni nella stessa tabella!!
Descrivi (analisi) cosa devi fare (azioni) e cosa vuoi ottenere
(risultato)...
Ciao.
--
Sergio MAZZA


title: Come inserire acquisti e vendite?

author: Marco

text:
Parto dalla risposta di MA, che ringrazio.
Premetto che uso access97 e anche excel97
>Acquisti e Vendite? mica le hai inserite nei prodotti?
No, nei prodotti ho pensato di inserire solo i prodotti che la ditta tratta.
Però vorrei appunto sapere se, tramite una procedura di inserimento delle
fatture d'acquisto e delle fatture di vendita, la tabella prodotti può
aggiornarsi continuamente e correttamente (anche se immagino che  questo è
un problema che dovrò affrontare successivamente).
>Hai già materiale su cui lavorare, ma ti prego posta una domanda alla volta
>abbandonando questo post e specifica bene il problema del caso.
Come da te consigliatomi, ho abbandonato il post precedente, sperando di
aver fatto giusto stavolta...se così non fosse non avere problemi a farmelo
notare, mi rendo conto che è nell'interesse mio ed è giusto nei confronti
degli altri utenti.
Grazie davvero.


title: Come inserire acquisti e vendite?

author: MA

text:
"Marco" <
emm...@tiscali.it
> ha scritto nel messaggio
news:%hrRb.202302$_P.70...@news4.tin.it...

Ma come mi sta venendo su bene 'sto cocco de mamma... signora mia...
;-P
Allora tutto benissimo finora.
Immagino che tu abbia inserito nella tab prodotti un id contatore.
Bene se sì creati la tabella Acquisti.
Qui ci metti il riferimento alla fattura d'acquisto (numerico), la quantità,
il costo, eventuale sconto, e se vuoi delle note. Ma cosa importante anche
un campo ricerca (numerico) che vada a puntare poi sull'id articolo (per ora
prevedilo solo poi ci lavoriamo).
MAssimiliano


title: Caratteri grandi

author: Alfonso

text:
In access si possono impostare "caratteri grandi" come da sistema?
Grazie Alfonso


title: Caratteri grandi

author: ALESSANDRO Baraldi

text:
"Alfonso" <
alfons...@alice.it
> ha scritto nel messaggio
news:4719ca8b$0$37198$4faf...@reader3.news.tin.it...
> In access si possono impostare "caratteri grandi" come da sistema?
> Grazie Alfonso
Non come intendi tu... non puoi ereditare questa impostazione ed estenderla.
Puoi definire i caratteri ed applicarli al tuo progetto in modalità Design
oppure da
codice su load...!
Nel 1° Caso dimensionerai i controlli in modo adeguato a mano...
Nel 2° Caso avrai problemi in quanto l'aumento del FontSize potrebbe non
essere correttamente
visualizzato in un controllo disegnato per un FontSize minore.
Vale a dire che tendenzialmente potresti perdere leggibilità senza un
coerente controllo dell'altezza
Controllo in relazione all'altezza Font.
Il 2° caso è unterreno minato.
--
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.alessandrobaraldi.it
---------------------------------------------------------------------------


title: Controllo Data in VBA..... mi da problemi

author: Robby Naish

text:
Ciao
Private Sub Inserimento_GotFocus()
 If IsNull or <> Isnow()(Me.Inserimento) Then
    Me.Inserimento = Date
  End If
End Sub
Non funziona xche Isnow() me lo sono proprio inventato x far capire
cosa mi serve
In pratica il campo Inserimento assume la data odierna nel caso in cui
sia vuoto o di valore diverso da oggi (come data)
Non riesco ad andare avanti
Scusate e grazie
Alessandro


author: Silvio Berruti

text:
"Robby Naish" <
robbyn...@yahoo.it
> ha scritto nel messaggio
news:3bce7e91...@news.cis.dfn.de...
> Ciao
>
> Private Sub Inserimento_GotFocus()
>  If IsNull or <> Isnow()(Me.Inserimento) Then
>     Me.Inserimento = Date
>   End If
> End Sub
>
> Non funziona xche Isnow() me lo sono proprio inventato x far capire
> cosa mi serve
> In pratica il campo Inserimento assume la data odierna nel caso in cui
> sia vuoto o di valore diverso da oggi (come data)
Complimenti x la fantasia!  ;-)
Cominciamo con il parlare la stessa lingua: nelle maschere e nei report non
ci sono campi, ma controlli; i campi sono presenti in tabelle e queries.
Prova con
Private Sub Inserimento_GotFocus()
    if IsNull(Me.Inserimento) = True Or Me.Inserimento <> Date then
        Me.Inserimento = Date
    end if
End Sub
ma, a parte la sintassi, se vuoi che il controllo Inserimento assuma sempre
la data odierna, non è + facile fare
Private Sub Inserimento_GotFocus()
    Me.Inserimento = Date
End Sub
--
Silvio
il sito comune di it.comp.appl.access:
http://www.sitocomune.com


author: Paolo

text:
"Silvio Berruti" <
sber...@libero.it
> ha scritto nel messaggio
news:p0wz7.42550$1H1.5...@news.infostrada.it...
>
> "Robby Naish" <
robbyn...@yahoo.it
> ha scritto nel messaggio
> news:3bce7e91...@news.cis.dfn.de...
CUT
>
> ma, a parte la sintassi, se vuoi che il controllo Inserimento assuma
sempre
> la data odierna, non è + facile fare
> Private Sub Inserimento_GotFocus()
>     Me.Inserimento = Date
> End Sub
>
> --
>
> Silvio
>
Ciao, mi sembra ovvio che la versione più semplice sia il Me.Inserimento =
Date
ma in merito a questo ho qualche problema:
su evento click di un pulsante --> Me.Miacaselladitesto = Date
Tutto Ok sul computer di casa , sul portatile mi si pianta e mi da errore :
Microsoft visual basic
Errore di compilazione
Impossibile trovare il,progetto o la libreria
se invece a casa lo copio in mde sul portatile non dà errore.
Hai idea di cosa potrebbe mancare sul portatile?
Grazie
Paolo


text:
"Paolo" <
he...@virgilio.it
> ha scritto nel messaggio
news:xRKz7.9684$QV6.2...@news2.tin.it...
>
> su evento click di un pulsante --> Me.Miacaselladitesto = Date
> Tutto Ok sul computer di casa , sul portatile mi si pianta e mi da errore
:
>
> Microsoft visual basic
> Errore di compilazione
> Impossibile trovare il,progetto o la libreria
>
> se invece a casa lo copio in mde sul portatile non dà errore.
> Hai idea di cosa potrebbe mancare sul portatile?
E' un problema di riferimenti.
Apri un modulo, menu Strumenti/Riferimenti...
Controlla che ci siano gli stessi spuntati e che siano nelle stesso ordine.



author: Elio

text:
"Silvio Berruti" <
sber...@libero.it
> ha scritto nel messaggio
news:_g1A7.54794$1H1.6...@news.infostrada.it...
> E' un problema di riferimenti.
> Apri un modulo, menu Strumenti/Riferimenti...
> Controlla che ci siano gli stessi spuntati e che siano nelle stesso
ordine.
>
> --
>
> Silvio
Grazie,
ho risolto tutto!


text:
"Elio" <
es...@virgilio.it
> ha scritto nel messaggio
news:hZeA7.2800$QL2....@news2.tin.it...
>
> ho risolto tutto!
Per dovuta precisazione,
sto scrivendo dall'account di mio cugino!
Ciao
da
Paolo (il cugino di Elio)


title: Non ne so niente, chiedo il vostro aiuto Grazie

text:
Salve a tutti i componenti del NG

Non ho mai postato in questo NG

e spero che mi aiuterete.

Non sono un utente Access, e so cosa veramente
sia

capace di fare.

Ma da quanto capisco si posso sviluppare vere e
proprie applicazioni complesse.

Io credo di avere un proble ma che per voi è una
bazzecola.

Non so cosa sia una Querry comunque ci
provo.

Sto realizzando un'applicazione web in ASp che
sfrutta una tabella Access

adesso vorrei che in un campo di un record
Es:"Totale"

Ci sia il valore della somma di altri campi dello
stesso record

Tipo

Campo_1

Campo_2

Campo_3

Totale_Campi

Campo_1+Campo_2+Campo_3=Totale_Campi

Come faccio????

Dove Metto questa espressione????

Confido in voi.

Grazie anticipatamente a tutti. Ciao.
:-))


author: Lbo

text:
>Sto realizzando un'applicazione web in ASp che sfrutta una tabella =
>Access
>adesso vorrei che in un campo di un record Es:"Totale"
ok, se po' fa'.  ma come la usi questa tabella?  ci apri un recordset?
--
non studio non lavoro non guardo la tv
non vado al cinema non faccio sport
----------------------------------------
il sito comune di it.comp.appl.access:
http://members.xoom.it/it_db_access


title: OT: Un parere da chi ne sa molto più di me

author: Alfio

text:
Buongiorno a tutti,
chiedo un vostro parere su di una società da cui abbiamo acquistato un gestionale e-commerce. Molte volte mi avete visto qui fare richieste per superare i limiti di questo software e devo ringraziarvi veramente tantissimo, i vari @Alex, Karl, Bruno e molti altri...in tanti mi avete aiutato fornendomi preziosi consigli che mi hanno aiutato moltissimo a superare gli ostacoli oltre ad aver contribuito alla mia crescita sulla programmazione con Access.
Adesso, senza far nomi di società e di software, vi chiedo un parere. Il gestionale in questione non ha un blocco di modifica record se due operatori stanno lavorando sullo stesso record e, purtroppo, succede spesso che siamo almeno in due a lavorarci inconsapevolmente, col risultato che alla chiusura della maschera riceviamo un messaggio che ci avverte che l'utente xy ha modificato o sta modificando lo stesso record. Il risultato è che non sapendo chi lo ha aperto per primo, chiudiamo il record e perdiamo i dati della modifica. Ho scritto alla società chiedendo quale impostazione nelle opzioni fosse necessaria per impedire che ciò avvenga, la risposta è stata "Il programma non può effettuare questo tipo di controllo automaticamente.
Dovete organizzarvi a monte, per non lavorare in contemporanea sugli stessi documenti". Ora, dato che non voglio litigare con il programmatore, vi chiedo, sono io che penso che sia una cosa assurda (per non essere volgare) che un gestionale, multiutente, non preveda una situazione del genere e che non abbia delle funzioni di controllo? E poi, cosa vuol dire "organizzarvi a monte", lavoriamo in desktop remoto, ogni volta che apro un qualsiasi record devo telefonare a tutti i colleghi per avvisarli??? Non so voi, ma io trova pazzesca una roba del genere.
Ringrazio sin d'ora chiunque vorrà dire la propria.
Ciao

Alfio


author: BFS

text:

perdonami ma fa ridere una risposta del genere, spero non lo abbiate gia
pagato il software

blocchi, transazioni e log proprio per evitare il problema che esponi
qui sopra sono la base della programmazione multi-utente.

parlando di e-commerce credo si parli di mysql giusto?
se si...si possono bloccare i dati sia a livello di tabella che a
livello di riga e ovviamente gestire le transazioni più o meno come in
access
ovviamente però vanno gestisti e non sperare che due utenti non lavorino
mai nello stesso record o che uno venga modificato nel bel mezzo di una
batch di istruzioni eseguite da un altro utente.

link di questa azienda/applicativo che son curioso

BFS


author: RobertoA

text:
Il 12/02/2021 17:57, Alfio ha scritto:

Ciao, la risposta alla tua domanda e' da un lato semplice e per altro
verso complessa
E' semplice nel senso che il sistema fornito deve soddisfare i requisiti
come da accordi, se non lo fa allora avete motivo di rivalervi come
riterrete opportuno
La complessita' sta nel capire se ci siano stati accordi preliminari e
di che tipo, e tutto li il problema
Ed anche supponendo ci siano stati precisi accordi, spesso la
definizione di una funzionalita' puo' essere eseguita in molti modi,
spesso non vengono menzionati i tempi massimi 'sopportabili', insomma ci
sono un miliardo di possibilita' che, se gli accordi iniziali non li ha
fatti un informatico di professione e pure in gamba, potrebbero rendere
il sistema fornito 'conforme agli accordi' ma comunque complesivamente
inadatto nel risolvere i problemi del committente
Nella tua descrizione hai usato la parola 'gestionale multiutente', e
questo mi fa pensare che possa essere usato da piu' postazioni lavoro
con la sicurezza che esistano meccanismi di blocco di un qualche tipo
sul record/pagina in editing per evitare problemi legati all'accesso
concorrente sui dati
Pero' dal "mi fa pensare a.." a dire "deve essere cosi e cosa' "  ce ne
passa
Just my 2cent


author: Bruno Campanini

text:
Alfio expressed precisely :

Se il tuo gestionale fosse in Access...

Bruno


text:
> Se il tuo gestionale fosse in Access...
>
> Bruno
Il database lo è...e aggiungo, per fortuna, perché così ho potuto sopperire a tante di quelle cose che non ha...

Alfio


text:
> link di questa azienda/applicativo che son curioso
>
>
> BFS
In privato ti darei le info, ma qui non credo sia corretto, stiamo ancora lavorando con questo software e cambiare nuovamente gestionale dopo solo 2 anni comporta tanti e tali di quei problemi che al solo pensarci rabbrividisco. Il problema è che finché non inizi ad utilizzarlo seriamente non ti rendi conto di quello che in effetti è, come funziona, cosa manca...ci devi sbattere la testa. Mi ero informato con altre aziende che lo usano e tutti a parlarne un gran bene, ma così non è. Pensa che non si può neanche modificare la risoluzione, il tutto è concepito con una risoluzione 800x600, non modificabile, puoi solo portarla a tutto schermo... potessi tornare indietro...

Alfio


author: Alex

text:
Non mi permetto di dare giudizi sull'operato altrui senza
 conoscere bene il merito.

Il problema che esponi tuttavia è molto meno banale di quanto sembri...

Va distinto l'aspetto dati da quello di interfaccia.
Sui dati, a quanto pare, attua un blocco ottimistico dei dati cosa
 che in tanti fanno...
Applicare in blocco pessimistico sarebbe sicuramente più di aiuto
 ai fini della segnalazione lato Client... ma dubito che
 concretamente poi si riesca a lavorare.
Il blocco del singolo record... non l'ho mai usato quindi ascolto
 esperienza altrui.
Di fatto con access lavorando con maschere associate temo che
 concretamente ci sia poco di realmente funzionale sul feedback
 all'operatore... lavorando tutto in unbound se ne può parlare...
 ma ne vale la pena...?

In ogni caso è da distinguere la gestione lato db dalla
 diagnostica lato client... quella che avvisa l'utente che quel
 record è bloccato... per non perdere tempo.
Chiaramente se blocchiamo l'intero recordset beh penso non sia una
 gran soluzione...

Access mostra il divieto di accesso nelle maschere continue quando
 il record è bloccato... ma non è una proprietà leggibile e, per
 quanto mi sia capitato ho avuto difficoltà a replicarne la
 funzionalità vera.

Transazioni.
Operano lato Engine quindi solo al tentativo di modifica... che
 per chi lavora equivale a quello che dici.

Ovviamente ha il vantaggio che sai se hai salvato o meno... ma il
 tempo che hai dedicato a lavorare su un record in modifica che
 poi non hai salvato credo sia il vero problema.

La proprietà updatable In qualche modo aiuta... ma...

Io francamente sono scettico ci sia una soluzione che accontenti
 tutti gli aspetti in particolare lato Client in modo preventivo e
 funzionale senza ricorrere, ad accorgimenti complessi come fanno
 con dei campi Bit di inibizione nelle tabelle...

Non aggiungo altro, leggo interessato se ci sono argomentazioni
 tecniche concrete perché è un ottimo tema.

--
@Alex

----Android NewsGroup Reader----
https://piaohong.s3-us-west-2.amazonaws.com/usenet/index.html


text:
Senza dubbio Alex,
l'aspetto grafico era solo un'aggiunta alle considerazioni, cosa che comunque avevo notato sin dall'inizio ma mi dicevo che non era importante tanto quanto la funzionalità del software.
Il problema era ed è questa funzione, se il record è in fase di modifica da parte di qualche altro user te lo debba segnalare prima che tu possa iniziare a fare qualsiasi cosa, tutto qui, penso sia fondamentale.
Ma come si può ricevere una risposta del genere? "Mettetevi d'accordo..." ci dotiamo di un elimina code? Prendiamo il numerino e al nostro turno scateniamo l'inferno?
Non so con quale aggettivo definire queste risposta.

Alfio


text:
Alfio non entro in questioni che non hanno nulla di tecnico... ma
 più "personale".

Detto questo non è questione di grafica... la segnalazione
 preventiva è il vero problema che ho sollevato... che reputo meno
 banale di quanto può apparire, e proprio su questo, ascolto chi
 si è gia espresso con idee più chiare delle mie.



text:
Il 12/02/2021 17:57, Alfio ha scritto:

Spero scuserai l'innioranzia, ma cos'e un "gestionale ecommerce" ?


text:
Alfio wrote on 13-02-21 :

E allora te la cavi con poco.
Da Form Contabilità in modalità Design --> Data, l'ultima
proprietà che trovi è Record Locks posta a No Locks: ponila
a Edited Records in ambedue i FE.
Non ti sto a raccontare come funzione perché è più semplice
fare esperimenti e prenderci la mano.
Ma funziona.

Bruno


text:
RobertoA brought next idea :

Ma sei proprio innnnniorante!
Sarà un gestionale con particolari funzionalità per l'e-commerce.
lol lol lol

Bruno


text:
Innioranza perdonata :)

allora, forse avrò utilizzato un termine improprio. Dunque, contabilità, magazzino, agenti, creazione e gestione inserzioni ebay, amazon ecc ecc. ecc

Alfio


text:
> Ma sei proprio innnnniorante!
> Sarà un gestionale con particolari funzionalità per l'e-commerce.
> lol lol lol
>
> Bruno
Eccolo la il solito Bruno... perspicevole.... :)))

Alfio


text:

No, "particolari funzionalita" non e' risposta accettabile, allora e' un
gestionale normale con qualche routine per esportare/importare dati
Speravo mi rispondesse, "e' un gestionale ed anche sistema ecommerce"
Perche' allora partivo con la raffica di domande


text:
> No, "particolari funzionalita" non e' risposta accettabile, allora e' un
> gestionale normale con qualche routine per esportare/importare dati
> Speravo mi rispondesse, "e' un gestionale ed anche sistema ecommerce"
> Perche' allora partivo con la raffica di domande

E' quello che ho scritto prima, un gestionale ed un sistema ecommerce


text:
Alfio approfondisci sempre quello che ti viene suggerito... perché
 devi capire da solo l'aspetto tecnico.
Se imposti nessun blocco... che poi corrisponde al default Blocco
 Ottimistico, accade proprio quello che lamenti del gestionale
 attuale.

Saluti



text:
Alfio formulated the question :

Intanto quel "la" vuole l'accento poi "perspicevole"
non esiste in alcun dizionario della lingua italiana.

Beh se sai usare un gestionale multiutenza in Access
come sai usare la lingua italiana...

Bruno


text:
RobertoA expressed precisely :

[...]
> No, "particolari funzionalita" non e' risposta accettabile, allora e' un
> gestionale normale con qualche routine per esportare/importare dati
> Speravo mi rispondesse, "e' un gestionale ed anche sistema ecommerce"
> Perche' allora partivo con la raffica di domande

Adesso che l'OP ti ha spiegato esattamente di che si tratta,
perché non parti con la raffica di domande?

Ma tu poi cosa sai di contabilità? ne hai mai tenuta una?

Bruno


text:

Cheee neeee so io di contabilitaaaaa' ?
Niente, perche lo chiedi?
La curiosita' che ho espresso prima consisteva nel credere che un unico
sistema permettesse di avere le principali funzionalita' dei classici
gestionali, magazzino, vendite, acqusti, contabilita'...    E   facesse
anche da e-commerce, e quindi 'rispondesse' alle richieste da esterno
preparando al volo le schermate in base alle informazioni contenute nel
gestionale, pagamenti online, e robe cosi'
Ed in quel caso sarei stato curioso di capire come e' strutturato il
progetto e tecnicamente la parte e-commercio come sia stata realizzata
(php, asp, asp-net, tipo web server, ecc...)


text:
> >> Bruno
> > Eccolo la il solito Bruno... perspicevole.... :)))
> >
> Intanto quel "la" vuole l'accento poi
Giusto!

"perspicevole"

era ironico, come "inniorante"...

Saluti


text:
Sinceramente non ti seguo,
il software che utilizziamo in azienda è un software acquistato...
Io non ho impostato alcun blocco, ho posto la domanda alla software house, per quale motivo non fosse implementato un controllo circa le modifiche dei record se questi stanno già subendo una modifica da parte di un altro utente...

Ciao


text:
Temo che stia sfuggendo il focus sulla domanda posta.
La domanda iniziale era rivolta a capire se, secondo chi crea software per mestiere, se è normale o meno che un programma, multiutente, permetta a chiunque di effettuare modifiche per poi, alla fine, quando dovresti salvare, ti dice che non è possibile poiché l'utente xy sta effettuando modifiche sulle stesso record... spero di essere stato "chiarevole" :)

Saluti


author: Alessandro Cara

text:
> Ed in quel caso sarei stato curioso di capire come e' strutturato il
> progetto e tecnicamente la parte e-commercio come sia stata realizzata
> (php, asp, asp-net, tipo web server, ecc...)

In quale cavolo di linguaggio sia realizzato un "progetto" e' ininfluente.

La penna e' sul tavolo
The pen is on the table

Due linguaggi che dicono la stessa cosa

La parte e-commerce e' appunto parte.
Un oggetto, in genere, e' , dicono i colti, self-contained
Vari oggetti possono poi comunicare fra loro.
O un oggetto puo essere contenuto in altro oggetto.

Una procedura di contabilita' qualsiasi, con le dovute interfacce,
puo' sparare i razzi sulla Luna o su alfa Cygni o provvedere alla
sequenziazione di tutte le varianti di covid-19
L'importate e' che  quei dati siano poi riportati inn partita doppia.
Dove e' il prolema? Esiste il problema?

--
ac (y-1=x)


text:

Il problema non e' mai lato gestionale
Ma spesso e' lato ecommerce, nel senso che quasi sempre si usano sistemi
gia' pronti e funzionanti tipo Magento, Prestashop, Shopify,
NopCommerce, et similia, facendoli comunicare col gestionale
Ed e' proprio su quel 'facendoli comunicare' che spesso casca l'asino
nel senso che non tutti gli archivi ecommerce si possono andare a
modificare, oppure la comunicazione non e' in real-time ma diferita per
diverse volte al giorno oppure il plugin per le statistiche non fa
esattamente quello che vorremmo oppure ...
Insomma l'integrazione tra sistema informatico aziendale e sistema
ecommerce non sempre fila liscia come ci si attenderebbe


text:
RobertoA <
amor...@tiscalinet.it
> ha scritto:r

Roberto se l'applicativo non fosse Desk, ma web Oriented... il
 problema sarebbe l'aspettativa di Alfio... per come normalmente
 vengono gestiti gli accessi da web... salvo integrare notifiche
 push per la contemporaneità... ma francamente mai sentito... si
 blocca il record ma tutto è servirsene in quel caso.

Per come si è espresso Alfio deve perforza essere applicativo Desk.



text:

Facci sapere
Che questa e' interessante


text:
Alfio laid this down on his screen :

Contabilità, magazzino, agenti, l'emissione e ricevimento fatture
via SDI e successiva automatica registrazione in PD l'hai solo
dimenticato... spero, gestione ammortamenti, estratti conto,
bilancio XBRL, etc sono i componenti principali di un gestionale
moderno.
Ebay, Amazon et similia sono i bells and whistles natalizi.

Bruno


text:
Ciao Bruno, ma ti ha preso un po' di "trollite" acuta?
Dato che non stiamo facendo paragoni con altri software su cosa faccia o non faccia, mi sono limitato a scrivere "contabilità" poiché, la domanda, concerne un controllo che secondo il mio modestissimo parere dovrebbe esserci, se non ricordi di quale controllo parlo puoi leggerlo all'inizio della discussione.

Con sconfinata simpatia...
Alfio


text:
After serious thinking Alfio wrote :
> Ciao Bruno, ma ti ha preso un po' di "trollite" acuta?
Mah... può anche darsi, data l'età.

> Dato che non stiamo facendo paragoni con altri software su cosa faccia o non
> faccia, mi sono limitato a scrivere "contabilità" poiché, la domanda,
> concerne un controllo che secondo il mio modestissimo parere dovrebbe
> esserci, se non ricordi di quale controllo parlo puoi leggerlo all'inizio
> della discussione.
Ricordo benissimo l'oggetto della discussione e ribadisco che Access
funziona perfettamente nella multiutenza con riferimento alle scelte
che si fanno circa la proprietà Record Locks di una o più schede
della elaborazione contabile.
Non ricordo esattamente i messaggi che appaiono ma la sostanza la
ricordo perfettamente: non puoi metter mano a un record nel quale
sia in corso l'editing di altro utente (che è la cosa più importante)
ovvero che altro utente abbia semplicemente selezionato.
Dipende da quale modalità Record Locks è stata scelta.

Che poi le cose siano cambiate con le ultime versioni di Access
te lo racconto domani, quando localmente metterò in multiutenza
locale più computer e farò le varie prove.

> Con sconfinata simpatia...
Grazie, altrettanta!

Bruno


text:
on 15-02-21, Bruno Campanini supposed :

> Non ricordo esattamente i messaggi che appaiono ma la sostanza la
> ricordo perfettamente: non puoi metter mano a un record nel quale
> sia in corso l'editing di altro utente (che è la cosa più importante)
> ovvero che altro utente abbia semplicemente selezionato.
> Dipende da quale modalità Record Locks è stata scelta.
>
> Che poi le cose siano cambiate con le ultime versioni di Access
> te lo racconto domani, quando localmente metterò in multiutenza
> locale più computer e farò le varie prove.

Allora: 3 PC, 2 con FE, 1 (il server) con BE.
- Record Locks di una scheda di contabilità (Prima Nota)
  posto a Edited Record in entrambi i FE.
  Se un FE HA INIZIATO l'Editing di un record, quel record
  è accessibile ma non editabile dall'altro FE.
  Nessun messaggio di comunicazione.
  Eseguito l'Editing (AfterUpdate) l'altro FE può a sua volta
  editarlo.

- Record Locks posto a All Records per ambedue i FE:
  Se una scheda è APERTA da un FE, l'altro non può aprirla e
  appare il messaggio "Operation must use un updatable query".

Quindi poche comunicazioni: una sola e sibillina.
Mi sembrava che in precedenti versioni Access fosse più
ciarliero al riguardo, però potrei sbagliarmi.

Comunque, acquisite le modalità di funzionamento, l'operatività
mi sembra accettbile.

Bruno


text:
>Comunque, acquisite le modalità di >funzionamento, l'operativitàmi >sembra accettbile.Bruno

Salvo che così lavora 1 solo e tutti gli altri aspettano... sempre
 che questo salvi ed esca dall'editing.
Deve essere un sistema nuovo di gestire la multiutenza... chissà
 se è davvero accettabile...

CVD



text:
Alex submitted this idea :
>> Comunque, acquisite le modalità di >funzionamento, l'operativitàmi >sembra
>> accettbile.Bruno
>
>
> Salvo che così lavora 1 solo e tutti gli altri aspettano... sempre
>  che questo salvi ed esca dall'editing.
> Deve essere un sistema nuovo di gestire la multiutenza... chissà
>  se è davvero accettabile...
>
> CVD

Sul record "under editing" lavora uno solo - come è giusto che sia -
Gli altri possono fare i loro comodi su altri record.
O tu vuoi fare l'ipotesi che altri 50 vogliano contemporaneamente
lavorare su quel determinato record?

O pensi che il tuo prossimo sia così simile a te da scegliere,
senza uno specifico e raro motivo, dalla modalità Record Locks
quella All Records che blocca addirittura l'apertura della
scheda se altri vi sta editando un record?

Facciamo un patto: tu non ti riferisci mai più a me ed io altrettanto
faccio con te.
Io comunque lo farò da questo momento.
Così evito la tentazione di darti della testa di cazzo tutte le volte
che apri bocca.

Bruno


text:
Il problema è tuo non mio... quando sento cose sbagliate intervengo.

Ti suggerirei però di fare qualche prova in più cambiando record
 mentre uno edita il primo l'altro edita il secondo... con
 impostato il blocco come dicevi tu.

Magari, succede che tutto il recordset è bloccato... oppure il
 blocco pessimistica tu dici che funziona diversamente...?

Intanto leggi quello che dice MS:
https://support.microsoft.com/it-it/office/propriet%C3%A0-recordlo

cks-6ca29bbb-8824-4671-8087-97fe0568019a

Siccome suggerivi questo è MS dice il contrario magari hai qualche
 osservazione tecnica più avanzata...

Se non riesci a sostenere una conversazione puramente tecnica
 senza scatenare l'adulto che c'è in te... beh.

Ciao Bruno



author: Simone Calligaris

text:
Il giorno venerdì 12 febbraio 2021 alle 17:57:48 UTC+1 Alfio ha scritto:

(cut)

> Ringrazio sin d'ora chiunque vorrà dire la propria.
> Ciao

M'è particolarmente piaciuta la risposta di @Alex: non è semplice predisporre un'applicazione Access multiutente di tipo "bound" a prova d'inghippi.
Va premesso che nella larga maggioranza delle situazioni le multiuenze sono piccine e poco conflittuali, quindi può andar bene il blocco ottimistico.
Diversamente, si può predisporre un boolean ad-hoc in ogni tabella da gestire programmaticamente: su modifica del Record si controlla lo status del Flag:  se = False si setta = True e si lascia procedere (dopo aggiornamento del Record si deve resettare a False). Al contrario, se lo status apparisse = True non dev'essere consentita la modifica dei controlli a Video.
In fin dei conti è una bella rottura, e non c'è da stupirsi che pochi se la vogliano smazzare. A meno che il settore di riferimento del software in oggetto, contempli abitualmente vaste e conflittuali multiutenze.

Tieni conto che in ogni caso, qualunque strategia si utilizzi, tanti utenti concorrenti potranno sempre incontrare difficoltà. Nel caso di cui si parla, pensa a pincopallino che in fase di modifica record abbandona la postazione di lavoro per la pausa caffè ... gli altri devono aspettarne il rientro per modificare quella riga.

Comunque, concludendo non ho ben capito l'architettura del gestionale di cui parli:

- Applicazione Desk sviluppata in Access che risiede in Cloud / RDP ?
- Base Dati Server acceduta via ODBC oppure .mdb/AccDB ?
- Quanti utenti?
- Realmente modificate (ordinariamente) contemporaneamente gli stessi record?

Saluti


text:
Con i Progetti ADP se non ricordo male, funzionava molto bene il Blocco Record di tipo Pessimistico, o quello che viene definito "RECORD  MOFIFICATI", nel caso in cui si gestisse la Form BOUND con una SP che mirava al singolo Record...
Questo metodo purtroppo con Access non ha il medesimo risultato, Blocca ugualmente tutto il Recordset anche quelli non in EDITING, ed in effetti sempre rimanendo in tema Bound, come fanno il 99% degli sviluppatori di Access, si accetta il Blocco ottimistico perchè in ogni caso mette al riparo senza particolari rogne, purtroppo viene meno propio la gestione del FEEDBACK, ma raginandoci bene... è assurdo chiederla in modo ANTICIPATO...

Per poi scendere nel dettaglio e dare un'ulteriore indicazione teecnica, l'attivazione della fase di EDIT, di conseguenza del BLOCCO avviene solo quando si attiva una modifica, non se si scorrono i record, e quando si scorrono il Blocco non è detto venga resettato... dipende.
Se lo scenario è che 2 UTENTI sono in READ sullo stesso Record, poi uno inizia l'EDIT è assurdo che l'altro possa avere una SEGALAZIONE non essendoci NULLA che va in lettura continua a riconoscere lo stato del Blocco...

@Alex


title: Modifica testo

author: Paolo Agagiů

text:
Ciao a tutti, ho creato un db contenente il campo [Cognome_Nome] inserendo i
dati circa 15.000 Pippo Antonio.
Questi devono essere accodati in un'altra tabella con la differenza che lo
spazio, tra cognome e nome, deve essere sostituito da un separare "/".
Vorrei creare una query di aggiornamento che me lo faccia in automatico.
Come faccio????
Grazie a tutti.


title: Modifica testo

author: Antonio Biso

text:
Paolo Agagiů <
aga...@tiscalinet.it
> wrote in message
90l7n0$c2g$1...@lacerta.tiscalinet.it...

UPDATE tab SET tab.Cognome_Nome = Left([Cognome_Nome],InStr([Cognome_Nome],"
")-1) & "/" & Mid([Cognome_Nome],InStr([Cognome_Nome]," ")+1);
Occhio che devi essere sicuro che c'č un unico spazio che č quello che
separa cognome da nome.
Se ci sono cognomi composti (De Amicis) sei fottuto.
A quel punto potresti fare cosě: metti un altro campo sě/no inizializzato a
no.
Con una funzioncina via codice ti scorri tutto il recordet e se il campo
cognome_nome ha piů di uno spazio (ciclo sui caratteri della stringa e
contatore), setta il campo sě/no a sě.
A questo punto la query che ti ho postato eseguila solo sui record col campo
sě/no a no.
Infine a manina ti modifichi i restanti anomali (quelli a sě, che si spera
non siano tantissimi) dove deciderai a seconda dei casi.
Antonio


title: non capisco!!!!!!

author: Simone

text:
Come mai dopo avere impostato le stesse librerie che ci sono nel database di
esempio northwind il seguente codice funziona nel database di northwind e
non nel mio?
sub....
Dim rstprova, rstfiltrato As Recordset
Dim dbsnorthwind As Database
Set dbsnorthwind = CurrentDb
Set rstprova = dbsnorthwind.OpenRecordset("dettagli ordini complessivi")
MsgBox rstprova.RecordCount
    rstprova.Filter = "idordine=11076"
    Set rstfiltrato = rstprova.OpenRecordset()
    rstfiltrato.MoveLast
    MsgBox rstfiltrato.RecordCount
    rstprova.Close
    rstfiltrato.Close
end sub
Ciae e grazie


title: non capisco!!!!!!

text:
"Simone" <
sip...@tin.it
> ha scritto nel messaggio
news:%IVk6.1333$gM6....@twister1.tin.it...

Non va... si fa presto a dire "non va"!
Che cosa non va? Ti dà un messaggio di errore? Quale? In che punto?
Esiste "dettagli ordini complessivi"? Possiede un campo idordine di tipo
numerico?
Non l'ho fatto io, ma tu hai controllato che le linee di programma siano le
stesse o siano correttamente adeguate al tuo programma?
E in questo caso, cosa hai cambiato?
(... mi fermo qui xché me ne vengono in mente troppe...)
--
Silvio
il sito comune di it.comp.appl.access:
http://www.sitocomune.com


title: Esecuzione file .hlp.

author: piccolobush

text:
Ciao a tutti. Ho ultimato una base dati e ho creato con un help maker una
guida in formato .hlp (la classica guida di windows). Perň non so come
collegarla perchč quando provo ad associarla ad un pulsante mi da' errore.
Sembra che Access permetta di eseguire solo applicazioni o tutt'al piů file
che possano essere aperti con i programmi del pacchetto Office. Non č
possibile far sě che il file .hlp venga lanciato da un comando del database?


title: Esecuzione file .hlp.

text:
"piccolobush" <
picco...@tiscali.it
> ha scritto nel messaggio
news:aa8p2g$dnq$1...@lacerta.tiscalinet.it...
> Ciao a tutti. Ho ultimato una base dati e ho creato con un help maker una
> guida in formato .hlp (la classica guida di windows). Però non so come
> collegarla perchè quando provo ad associarla ad un pulsante mi da' errore.
> Sembra che Access permetta di eseguire solo applicazioni o tutt'al più
file
> che possano essere aperti con i programmi del pacchetto Office. Non è
> possibile far sì che il file .hlp venga lanciato da un comando del
database?
Nella maschera c'è la proprietà fiel menù guida e lì ci metti il path del
tuo hlp.
poi ad ogni controllo devi associare il numero di guida cioè la pagina
dell'help corrispondente...
Antonio


title: Creare file pdf (lungo)

author: Fabio Valvassori

text:
Visto che qualcuno me l'ha chiesto, posto per tutti un modo per creare un
file pdf in automatico da un report di Access (97)
Io ho utilizzato PDFCreator, settato in modo da creare in automatico il file
PDF;
prima dell'esecuzione della stampa, in base ad alcuni parametri, vado a
modificare il file ini di pdfcreator per dirgli dove stampare e con quale
nome voglio chiamare il file e poi eseguo la stampa ...
La funzione per impostare il file ini si chiama INISetValue e devo averla
trovata sul sito comune o su internet ...
Chiedo scusa agli autori di queste funzioni se non li cito ma ho fatto il
tutto un pň di tempo fa e ho una certa fretta ...
Prendete questo esempio cosě com'č e scusate le imperfezioni, comunque a me
funziona!
__________________________________________________________
Codice sul pulsante nella maschera che stampa il report
'setto la stampante predefinita PDFCreator
    Dim stpPredefinita As String
    stpPredefinita = GetDefaultPrinter
    DefaultPrinter = stpPredefinita
    Dim stamp As String
    stamp = "PDFCreator"
    SetDefaultPrinter (stamp)
    Dim ValRit As Long
    Dim NomeFile As String
    Dim PercorsoINI As String
    Dim PercorsoPDF As String
    PercorsoINI = "dove si trova l'ini di pdfcreator"
    PercorsoPDF = "dove voglio mettere il file pdf"
    NomeFile = "filepdf"
    ValRit = INISetValue(PercorsoINI, "Options", "AutosaveFilename",
NomeFile)
    DoCmd.OpenReport "Nome del report", acViewNormal
    ResetDefaultPrinter
    Sleep (2000)
Invio anche un email con outlook
    Dim oOutlook As New Outlook.Application
    Dim oMessage As Outlook.MailItem
    Dim ns As Outlook.NameSpace
    Set ns = oOutlook.GetNamespace("MAPI")  'Return a reference to the MAPI
layer
    ns.Logon , , True, True  'Logon to exchange server
    Set oMessage = oOutlook.CreateItem(olMailItem)
    With oMessage
        .To = EMail
        .CC = Nz(CC, "")
        .Subject = Oggetto
        .Body = TestoEMail
        .Attachments.Add PercorsoPDF & NomeFile & ".pdf"
        .Display
'        .Send
'        .Save
    End With
    ns.Logoff       'Logoff Exchange
    Set ns = Nothing    'Cleanup
    Set oOutlook = Nothing
    Exit Sub
End Sub
MODULO per la gestione della stampante
Option Compare Database
Option Explicit
'************ Code Start **********
' This code was originally written by Dev Ashish.
' It is not to be altered or distributed,
' except as part of an application.
' You are free to use it in any application,
' provided the copyright notice is left unchanged.
'
' Code Courtesy of
' Dev Ashish
'
Private Declare Function apiShellExecute Lib "shell32.dll" _
    Alias "ShellExecuteA" _
    (ByVal hwnd As Long, _
    ByVal lpOperation As String, _
    ByVal lpFile As String, _
    ByVal lpParameters As String, _
    ByVal lpDirectory As String, _
    ByVal nShowCmd As Long) _
    As Long
'***App Window Constants***
Public Const WIN_NORMAL = 1         'Open Normal
Public Const WIN_MAX = 3            'Open Maximized
Public Const WIN_MIN = 2            'Open Minimized
'***Error Codes***
Private Const ERROR_SUCCESS = 32&
Private Const ERROR_NO_ASSOC = 31&
Private Const ERROR_OUT_OF_MEM = 0&
Private Const ERROR_FILE_NOT_FOUND = 2&
Private Const ERROR_PATH_NOT_FOUND = 3&
Private Const ERROR_BAD_FORMAT = 11&
Declare Function GetProfileSection& Lib "Kernel32" Alias
"GetProfileSectionA" (ByVal lpAppName As String, ByVal lpReturnedString As
String, ByVal nSize As Long)
Declare Function GetProfileString& Lib "Kernel32" Alias "GetProfileStringA"
(ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpDefault As
String, ByVal lpReturnedString As String, ByVal nSize As Long)
Declare Function WriteProfileString& Lib "Kernel32" Alias
"WriteProfileStringA" (ByVal lpszSection As String, ByVal lpszKeyName As
String, ByVal lpszString As String)
Public DefaultPrinter As String
Public Sub SetDefaultPrinter(S As String)
'imposta la stampante passata come argomento a predefinita
On Error GoTo Esci
Dim x As Long
If IsNull(S) Or S = "" Then Exit Sub
x = WriteProfileString("windows", "device", vbNullString)
DoEvents
x = WriteProfileString("windows", "device", S)
DoEvents
Esci:
End Sub
Public Sub ResetDefaultPrinter()
'reimposta a predefinita la stampante memorizzata nella var globale
SetDefaultPrinter (DefaultPrinter)
End Sub
Public Function GetDefaultPrinter() As String
'ritorna il nome della stampante predefinita
    Dim x As Integer
    Dim buffer As String
    buffer = Space$(255)
    x = GetProfileString("windows", "device", "?", buffer, 255)
    GetDefaultPrinter = Left$(buffer, x)
End Function
Function fHandleFile(stFile As String, lShowHow As Long)
Dim lRet As Long, varTaskID As Variant
Dim stRet As String
    'First try ShellExecute
    lRet = apiShellExecute(hWndAccessApp, vbNullString, _
            stFile, vbNullString, vbNullString, lShowHow)
    If lRet > ERROR_SUCCESS Then
        stRet = vbNullString
        lRet = -1
    Else
        Select Case lRet
            Case ERROR_NO_ASSOC:
                'Try the OpenWith dialog
                varTaskID = Shell("rundll32.exe shell32.dll,OpenAs_RunDLL "
_
                        & stFile, WIN_NORMAL)
                lRet = (varTaskID <> 0)
            Case ERROR_OUT_OF_MEM:
                stRet = "Error: Out of Memory/Resources. Couldn't Execute!"
            Case ERROR_FILE_NOT_FOUND:
                stRet = "Error: File not found.  Couldn't Execute!"
            Case ERROR_PATH_NOT_FOUND:
                stRet = "Error: Path not found. Couldn't Execute!"
            Case ERROR_BAD_FORMAT:
                stRet = "Error:  Bad File Format. Couldn't Execute!"
            Case Else:
        End Select
    End If
    fHandleFile = lRet & _
                IIf(stRet = "", vbNullString, ", " & stRet)
End Function
'************ Code End **********
MODULO per la gestione del file INI
Option Compare Database
Option Explicit
Private Declare Function GetPrivateProfileString Lib "Kernel32" Alias
"GetPrivateProfileStringA" _
     (ByVal lpApplicationName As String, _
     ByVal lpKeyName As Any, _
     ByVal lpDefault As String, _
     ByVal lpReturnedString As String, _
     ByVal nSize As Long, _
     ByVal lpFileName As String) As Long
Private Declare Function WritePrivateProfileString Lib "Kernel32" Alias
"WritePrivateProfileStringA" _
     (ByVal lpApplicationName As String, _
     ByVal lpKeyName As Any, _
     ByVal lpString As Any, _
     ByVal lpFileName As String) As Long
Public gsINIFile As String 'gs significa global string
'---------------------------------------------------------
' funzioni o sub di VB per rendere umana la gestione
' metterle nello stesso .bas delle precedenti
' si puo' semplificare se si vuole
'---------------------------------------------------------
Public Function INISetValue(INIFile As String, _
     INIGroup As String, _
     INIKey As String, _
     INIVAlue As String)
     ' update single line of .INI file
     ' NOTE: group and/or parameter line will be added if not already
present
     ' input: inifile=full path to .INI file, inigroup=group header (no [])
     ' inikey=parameter name, inivalue=new parameter value
     Call WritePrivateProfileString(INIGroup, INIKey, INIVAlue, INIFile)
End Function
Public Function INIGetValue(INIPath As String, INIGroup As String, INIKey As
String, INIDefault As String) As String
     ' get line from .INI file
     ' input: inpath=path to .INI file, INIgroup=group header (no [])
     ' inikey=parameter name, inidefault=default value
     ' output: value from file or default if not found
     Dim x As Long
     Dim sBuff As String * 512
     x = GetPrivateProfileString(INIGroup, INIKey, INIDefault, sBuff,
Len(sBuff), INIPath)
     INIGetValue = Left$(sBuff, x)
     End Function
Public Sub INIDeleteValue(INIPath As String, _
     INIGroup As String, _
     INIKey As String)
     ' delete line from .INI file (physically)
     ' input: inipath=path to .INI file, iniGroup=group header (no []),
     ' INIkey=parameter name
     Call WritePrivateProfileString(INIGroup, INIKey, 0&, INIPath)
End Sub
'---------------------------------------------------------
' queste vanno messe nello stesso bas
' sono le funzioni da usare nei vari form o moduli
' si puo' semplificare se si vuole, evitando le INIGetValue...
' e quindi scrivendo INIGetSettings e INISaveSettings
' usando direttamente GetPrivateProfileString e WritePrivateProfileString
' ma sono comode perche' semplificano la vita ed evitano di dover
specificare il file (gsINIFile)
'---------------------------------------------------------
Public Function INIGetSettings(INISection As String, _
  INIVar As String, _
  INIDefault As String) As String
  INIGetSettings = INIGetValue(gsINIFile, _
                  INISection, _
                  INIVar, INIDefault)
End Function
Public Sub INISaveSettings(INISection As String, _
     INIVar As String, _
     INIVAlue As String)
   INIDeleteValue gsINIFile, INISection, INIVAlue
   INISetValue gsINIFile, INISection, INIVar, INIVAlue
End Sub
' uso con il filename della variabile globale INIFile
' uso: ad esempio per salvare il valore <mio> nella variabile <ciao> del
gruppo <MostRecent> si usa:
'  INISaveSettings "MostRecent", "ciao", "mio"
' uso: ad esempio per recuperare il valore della variabile <ciao>  del
gruppo <MostRecent> si usa:
'        gsValore = INIGetSettings("MostRecent", "ciao", "-")
' "-" e' il valore di default


title: Creare file pdf (lungo)

author: access il top

text:
"Fabio Valvassori" <
fabio...@libero.it
> ha scritto nel messaggio
news:41ee4324$0$132$5fc...@news.tiscali.it...
> Visto che qualcuno me l'ha chiesto, posto per tutti un modo per creare
un
> file pdf in automatico da un report di Access (97)
>
> Io ho utilizzato PDFCreator, settato in modo da creare in automatico
il file
> PDF;
> prima dell'esecuzione della stampa, in base ad alcuni parametri, vado
a
> modificare il file ini di pdfcreator per dirgli dove stampare e con
quale
> nome voglio chiamare il file e poi eseguo la stampa ...
>
> La funzione per impostare il file ini si chiama INISetValue e devo
averla
> trovata sul sito comune o su internet ...
> Chiedo scusa agli autori di queste funzioni se non li cito ma ho fatto
il
> tutto un pň di tempo fa e ho una certa fretta ...
>
> Prendete questo esempio cosě com'č e scusate le imperfezioni, comunque
a me
> funziona!
> __________________________________________________________
>
molto molto molto INTERESSANTE.
Grazie mille per aver postato tutto questo codice.
ho ancora un paio di problemi che devo risolvere
nome del file creato automaticamente e percorso dove salvarlo ma penso
che riuscirň presto a risolvere (spero)