title: [NON SO SPIEGARE] perde il focus

text:
"Antonio Biso" <ch...@NOSPAMetruria.net> ha scritto nel messaggio
news:Dplth.3957$422....@twister2.libero.it...

>Antonio, ti ringrazio della risposta e della correzione ortografica del
>"subgest", metterò subito in atto il tuo suggerimento
Carlo
;-))



title: [NON SO SPIEGARE] perde il focus

author: Carlo

text:
"Antonio Biso" <ch...@NOSPAMetruria.net> ha scritto nel messaggio
news:Dplth.3957$422....@twister2.libero.it...

>Perfetto e grazie



title: campo progressivo su report...(3)

author: Enrico Virginio

text:
Avevo chiesto:
Devo stampare delle etichette, della stessa etichetta ne posso stampare
40 come una sola, nel foglio A4 ce ne stanno 8 per pagina...
HO la necessità di inserire un campo nel corpo del report (quindi in
ogni singola etichetta) che partendo da 1 si incremeti fino ad arrivare
al totale etichette stampate...
Quindi se stamperò 5 etichette dovrò avere la numero 1 la 2 la 3 la 4 e
la 5;
>
> Grazie !!!
> Ciao
Mi è stato gentilmente risposto:
Aggiungi una casella di testo nell'origine del controllo scrivi =1 e
imposti
la proprietà Somma parziale Su Tutto.
************************************************************
Io ho provato a stamparne 5, sulla prima esce 1 sulla seconda esce 2 e
poi su tutte le altre il valore rimane 2
HEEELP !
Grazie mille...
Enrico
--
Posted via Mailgate.ORG Server -
http://www.Mailgate.ORG


title: Aggiornamento Record di magazzino

author: edmont

text:
Ciao, ho il problema seguente:
da una form in cui ho inserito records riguardanti il dettaglio di fatture
fornitori devo aggiornare contemporaneamente i record corrispondenti della
form magazzino (nel senso di aggiornare i campi quantità, prezzo di
acquisto, sconto del fornitore etc.) e nello stesso tempo stampare le
etichette barcode relative alle stesse quantità per singolo prodotto.
Come posso fare ? Ho provato con una query di aggiornamenteo per il carico
magazzino, ma con risultai scarsi; mentre per la stampa barcode riesco solo
a trasferire il dettaglio dell'articolo e la quantità di etichette da
stampare, ma solo articolo per articolo e non tutti quelli della fattura
contemporaneamente,
Ciao, Ocram


title: Aggiornamento Record di magazzino

author: TheMax

text:
"edmont" <
edmd...@libero.it
> ha scritto nel messaggio
news:_eKQc.30529$1V3.7...@twister2.libero.it...
> Ciao, ho il problema seguente:
> da una form in cui ho inserito records riguardanti il dettaglio di fatture
> fornitori devo aggiornare contemporaneamente i record corrispondenti della
> form magazzino (nel senso di aggiornare i campi quantità, prezzo di
> acquisto, sconto del fornitore etc.) e nello stesso tempo stampare le
> etichette barcode relative alle stesse quantità per singolo prodotto.
> Come posso fare ? Ho provato con una query di aggiornamenteo per il carico
> magazzino, ma con risultai scarsi;
Con una query di aggiornamento è corretto, cosa intendi per risultati
scarsi?
> mentre per la stampa barcode riesco solo
> a trasferire il dettaglio dell'articolo e la quantità di etichette da
> stampare, ma solo articolo per articolo e non tutti quelli della fattura
> contemporaneamente,
Nell'origine del report inserisci anche la tabella delle fatture e relativo
dettaglio, quindi filtra il report in base alla fattura di cui vuoi stampare
le relative etichette.
> Ciao, Ocram
Ciao,
Massimo
--
web:
www.piubelli.net
Vuoi il mio indirizzo? Togli _cut_ per rispondermi


title: Aggiornamento Record di magazzino

text:
"TheMax" <
massim...@accessgroup.it
> ha scritto nel messaggio
news:cf7o57$ufq$1...@atlantis.cu.mi.it...

>Grazie, Max
Per la query di aggiornamento ho risolto (avevo sbagliato le formule di
calcolo sulle quantità), invece per la stampa barcode la tua soluzione non
mi consente di decidere ulteriormente quante etichette stampare per singolo
articolo, mi spego meglio:
ho creato una query che mi estrapola dalla fattura solo i campi che mi
interessano, aggiungendo un campo quantità in più che riproduce le quantità
della fattura; devo poi avere la possibilità di variare queste quantità per
stampare solo quelle che mi servono di determinati articoli; a questo punto
vorrei andare in stampa con il numero di etichette inserito per ciascun
articolo, spero di essere stato chiaro,
ciao, edmont


title: Aggiornamento Record di magazzino

text:
"edmont" <
edmd...@libero.it
> ha scritto nel messaggio
news:inLRc.36783$OH4.1...@twister1.libero.it...
> >
> >Grazie, Max
> Per la query di aggiornamento ho risolto (avevo sbagliato le formule di
> calcolo sulle quantità), invece per la stampa barcode la tua soluzione non
> mi consente di decidere ulteriormente quante etichette stampare per
singolo
> articolo, mi spego meglio:
> ho creato una query che mi estrapola dalla fattura solo i campi che mi
> interessano, aggiungendo un campo quantità in più che riproduce le
quantità
> della fattura; devo poi avere la possibilità di variare queste quantità
per
> stampare solo quelle che mi servono di determinati articoli; a questo
punto
> vorrei andare in stampa con il numero di etichette inserito per ciascun
> articolo, spero di essere stato chiaro,
Penso che l'unica soluzione sia quella di usare un po di VBA, come te la
cavi?
Dunque, credo che una tabella temporanea potrebbe fare al tuo caso, in cui
aggiungi tante righe quante sono quelle indicate nella quantità, poi elimini
le righe se non ti serve stamparle, o le duplichi per stamparne in più.
Che ne dici?
> ciao, edmont



title: Aggiornamento Record di magazzino

text:
"TheMax" <
massim...@accessgroup.it
> ha scritto nel messaggio
news:cf8072$4e1$1...@atlantis.cu.mi.it...

Ciao, Massimo
ho visitato il tuo sito, lo trovo molto interessante, ti invierò alcune mie
considerazioni;
Non sono molto esperto di VBA ma con questa istruzione
Dim rst As dao.Recordset
Dim i As Integer
Set rst = CurrentDb.OpenRecordset("BARFAT")
    For i = 1 To QTA
    With rst
        .AddNew
        !barcode = Me.barcode
        !CATEGORIA = Me.CATEGORIA
        !Operazione = Me.Operazione
        !PREZZOVEN = Me.PREZZOVEN
        !QTA = 1
        .Update
End With
    Next
    rst.Close
    Set rst = Nothing
associata ad un pulsante, sono riuscito a trasferire in un altra tabella i
records nelle quantità desiderate; purtroppo solo uno alla volta.
C'è un modo per ottenere lo stesso risultato (cioè trasferire tutti i
records nel numero desiderato) con un unico click ?
Sto diventando stupido senza riuscire a trovare una soluzione
soddisfacente!! Ciao, edmont


title: Aggiornamento Record di magazzino

text:
"edmont" <
edmd...@libero.it
> ha scritto nel messaggio
news:onRRc.37273$OH4.1...@twister1.libero.it...
> Ciao, Massimo
> ho visitato il tuo sito, lo trovo molto interessante, ti invierò alcune
mie
> considerazioni;
Grazie, le attendo volentieri
> Non sono molto esperto di VBA ma con questa istruzione
>
> Dim rst As dao.Recordset
> Dim i As Integer
> Set rst = CurrentDb.OpenRecordset("BARFAT")
>     For i = 1 To QTA
>
>     With rst
>         .AddNew
>         !barcode = Me.barcode
>         !CATEGORIA = Me.CATEGORIA
>         !Operazione = Me.Operazione
>         !PREZZOVEN = Me.PREZZOVEN
>         !QTA = 1
>         .Update
>
> End With
>     Next
>
>     rst.Close
>     Set rst = Nothing
>
> associata ad un pulsante, sono riuscito a trasferire in un altra tabella i
> records nelle quantità desiderate; purtroppo solo uno alla volta.
> C'è un modo per ottenere lo stesso risultato (cioè trasferire tutti i
> records nel numero desiderato) con un unico click ?
Prova a farlo con due recordset, ovvero uno che ti cicla tutti i dettagli
fattura e l'altro uguale a come lo hai fatto tu.
Ti butto li un esempio (tieni conto che è l'una per cui non escludo errori
di programmazione visto anche che non conosco la tua struttura di tabelle)
Dim Db as dao.database
Dim RsFatture as Dao.Recordset
dim RsAggiunta as dao.recordset 'questo è quello che hai già fatto tu
Set RsAggiunta = CurrentDb.OpenRecordset("BARFAT")
set db = currentdb()
set RsFatture = db.openrecordset("select * from TblDettFatture where
idfattura = " & me.CampoIdfattura)
do while not rsFatture.eof
    For i = 1 To rsFatture!QTA
         With rst
         .AddNew
         !barcode = RsFatture .barcode
         !CATEGORIA = RsFatture !CATEGORIA
         !Operazione = RsFatture !Operazione
         !PREZZOVEN = RsFatture !PREZZOVEN
         !QTA = 1
         .Update
         End With
     Next
    rsfatture.movenext
loop
quindi chiudi e distruggi i vari rs
> Sto diventando stupido senza riuscire a trovare una soluzione
> soddisfacente!! Ciao, edmont
Questa più o meno dovrebbe fare al caso tuo.
Se hai problemi fa sapere, se va bene anche, grazie.
Domani sono in giro, per cui ti risponderò eventualmente solo verso sera.



title: Aggiornamento Record di magazzino

text:
"TheMax" <
massim...@accessgroup.it
> ha scritto nel messaggio
news:cf90p4$qcq$1...@atlantis.cu.mi.it...

>Ciao,Massimo
Non riesco a far girare il tutto, anche se mi sembra che la soluzione sia
vicina, grazie al tuo preziosissimo aiuto.
Non sono molto esperto di VBA ! Ti descrivo più dettagliatamente come è
strutturata la procedura:
- Ho due forms: una 'Fattura'  (con data, num, totale etc) e una
'DettaglioFattura' con i prodotti (nome, quantità ricevuta prezzo d'
acquisto, etc).
- Dalla form 'Fattura' apro un'altra forms 'BAR_X_FAT' basata su una query
di selezione contenete le tabelle 'Fattura','DettaglioFattura' e Magazzino
(quest'ultima mi serve perchè devo stampare sulle etichette anche il prezzo
di vendita del prodotto); su questa form riporto anche un campo 'qta'
(inserito nella tabella 'DettaglioFatture') che mi permette di variare il
numero di etichette da stampare per ciascun prodotto, in essa ho
naturalmente solo i campi interessati alla stampa relativamente alla fattura
in oggetto.
- A questo punto ho un'altra form 'BARFAT' (basata su una tabella creata ad
hoc) dove vorrei con un solo click riportare i record moltiplicati per le
quantità desiderate in modo da poterli stampare su un report già pronto.
- Con l'struzione
Dim rst As dao.Recordset
> Dim i As Integer
> Set rst = CurrentDb.OpenRecordset("BARFAT")
>     For i = 1 To QTA
>
>     With rst
>         .AddNew
>         !barcode = Me.barcode
>         !CATEGORIA = Me.CATEGORIA
>         !Operazione = Me.Operazione
>         !PREZZOVEN = Me.PREZZOVEN
>         !QTA = 1
>         .Update
>
> End With
>     Next
>
>     rst.Close
>     Set rst = Nothing
Riesco ad ottenere il risultato voluto posizionandomi di volta in volta su
ciascun record da trasferire, intuisco dalla tua risposta che è possibile
poter trasferire il tutto simultaneamente, ma non riesco ad adattare la tua
procedura, potresti aiutarmi ancora ?
Grazie, Edmont
Che intendi con "quindi chiudi e distruggi i vari rs" ?


title: Aggiornamento Record di magazzino

text:
"edmont" <
edmd...@libero.it
> ha scritto nel messaggio
news:Cy%Rc.34755$1V3.8...@twister2.libero.it...
[MEGACUT]
La struttura era come la avevo intuita io, per cui così com'è dovrebbe
funzionare, cambiando ovviamente gli opportuni nomi tipo, ah, più che cosa
contengono le varie maschere, interessa di solito la struttura delle
tabelle.
 Dim Db as dao.database
 Dim RsFatture as Dao.Recordset
dim RsAggiunta as dao.recordset 'questo è quello che hai già fatto tu
 Set RsAggiunta = CurrentDb.OpenRecordset("BARFAT") 'questa dovrebbe essere
la tua query giusto?
 set db = currentdb()
 set RsFatture = db.openrecordset("select * from DettaglioFattura where
CampoIDFattura = " & me.CampoIdfattura) ' qua devi cambiare il nome della
tabela lo ho già cambiato, tu devi cambiare il nome del campo idfattura
(chiave esterna) con quello che hai tu in tabella e me.campoidfattura con
quello che hai nella maschera
 do while not rsFatture.eof
     For i = 1 To rsFatture!QTA
        'questa parte dovrebbe restare inalterata
          With RsAggiunta
          .AddNew
          !barcode = RsFatture .barcode
          !CATEGORIA = RsFatture !CATEGORIA
          !Operazione = RsFatture !Operazione
          !PREZZOVEN = RsFatture !PREZZOVEN
          !QTA = 1
         .Update
          End With
     Next
     rsfatture.movenext
loop
rsFatture.Close 'questo vuol dire chiudere i vari recordset
RsAggiunta.close
set rsfatture = nothing
set rsaggiunta = nothing
> Grazie, Edmont
Prego,



title: Cerco di aprire un report in un altro db

author: Pino

text:
Sto lavorando al db A e sto cercando di aprire un report situato nel
db B. Creo un'istanza dell'oggetto Application e lavoro su questo:
Dim appAccess As Access.Application
Set appAccess = CreateObject("Access.Application")
appAccess.OpenCurrentDatabase "C:\Documents and Settings\ecc
\db_prove.mdb"
appAccess.DoCmd.OpenReport "dipendenti", acViewPreview, , ,
acWindowNormal
appAccess.CloseCurrentDatabase
Il report naturalmente si trova in db_prove. Se metto come parametro
acViewNormal...mi stampa il report, ok allora vuol dire che il codice
funziona. Se però metto la modalità acViewPreview (quella che serve a
me) non si apre nulla :-( Secondo voi da cosa può dipendere? Forse c'è
qualcosa che dovrei settare per far partire il report in modalità
anteprima...insomma non mi vengono idee in mente.
Grazie.


author: geppo

text:

Cerca il post di "RobertoA" con oggetto "Anteprima report non visibile su
report lanciato da altro file mdb" del 12.01.2008, li c'è anche la risposta.
--
Ciao
Geppo


author: RobertoA

text:

 -------------------------------------------------------------------
Public Declare Function apiSetForegroundWindow Lib "user32" Alias
"SetForegroundWindow" (ByVal hwnd As Long) As Long
 Public Declare Function apiShowWindow Lib "user32" Alias "ShowWindow"
(ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
 Global Const SW_MAXIMIZE = 3
 Global Const SW_SHOWMINIMIZED = 2
 Global Const SW_NORMAL = 1
 Global Const SW_HIDE = 0
 Set objAccess = New Access.Application
 lngRet = apiSetForegroundWindow(objAccess.hWndAccessApp)
 lngRet = apiShowWindow(objAccess.hWndAccessApp, SW_NORMAL)
 objAccess.OpenCurrentDatabase Application.CurrentProject.Path & "\" &
nome_file_report
 objAccess.DoCmd.OpenReport nome_report, tipo_visualizzazione, Filtro,
selezione, acWindowNormal
'           Do While Len(
objAccess.CurrentDb.Name
) > 0
'               DoEvents
'               Debug.Print Timer
'           Loop
' objAccess.Quit
' Set objAccess = Nothing
 -------------------------------------------------------------------
Il virgolettato non lo metto perche' preferisco far proseguire l'istanza
'madre' e poter aprire numerose anteprime se desiderato
Nell'esempio originale, tratto da
http://www.mvps.org/access/reports/rpt0012.htm
dopo l'avvio del report sull'mdb secondario, se ne attendeva la chiusura
prima di proseguire col resto del codice sulla finestra iniziale
Tutto l'ambaradan, pur funzionando, e' comunque una soluzione che mi
soddisfa ben poco
Ti obbliga ad uscire dall'ambiente di lavoro per modificare una stampa, le
query sono un po' sul file principale ed un po' sul file secondario che
contiene le stampe, devi avere aperti sempre entrambi per lavorarci, noltre
devi fornire all'utente finale anche una copia di Access per metterlo a
posto formalmente
Vorrei provare crysytal report col 'report design component' mi sembra si
chiami, e' una libreria di funzioni che dovrebbe permetterti di ricreare
all'interno della tua applicazione un ambiente di disegno dei report nuovi o
di modifica di quelli esistenti
Insomma diventerebbe un sistema con le funzionalita' minime di stampa che
ormai hanno anche i Finson da 50 eiri
Pero' stavo vedendo che sull'ultima versione la 2008 e' stato dismesso tale
componente, e' presente sulla XI che e' ancora commercializzata, costo
attorno ai 6-700 eiri
Ciao
RobertoA


author: Carlo Costarella

text:
"Pino" <
ngi...@yahoo.it
> ha scritto nel messaggio
news:525a67cb-0dfd-4505...@q39g2000hsf.googlegroups.com...


Le risposte che ti hanno dato possono andare bene.
Ti propongo una strada diversa ma altrettanto efficace.
Nel db B scrivi una funzione simile a questa e in un modulo pubblico:
Public Function ApriReport(NomeReport as string)
DoCmd.OpenReport Nomereport, acViewPreview
End Function
A questo punto chiudi il db B e apri il db A; apri un modulo e aggiungi ai
riferimenti il db B.mdb. Fatto.
Ora da qualsiasi punto del db A puoi chiamare la funzione così:
ApriReport ("NomeReportSulDbB")
Se tutto va bene potrai visualizzare in anteprima il report del db B.
Ciao, Carlo


text:
> Le risposte che ti hanno dato possono andare bene.
> Ti propongo una strada diversa ma altrettanto efficace.
> Nel db B scrivi una funzione simile a questa e in un modulo pubblico:
> Public Function ApriReport(NomeReport as string)
> DoCmd.OpenReport Nomereport, acViewPreview
> End Function
> A questo punto chiudi il db B e apri il db A; apri un modulo e aggiungi ai
> riferimenti il db B.mdb. Fatto.
> Ora da qualsiasi punto del db A puoi chiamare la funzione cosě:
> ApriReport ("NomeReportSulDbB")
>
> Se tutto va bene potrai visualizzare in anteprima il report del db B.
Ho fatto cosi' anch'io inizialmente
Poi ho scelto l'altra strada per avere meno riferimenti possibili e rendere
modificabile al volo il nome file contenente i report
Ciao
RobertoA


text:
"RobertoA" <
amor...@tiscalinet.it
> ha scritto nel messaggio
news:479db639$1...@newsgate.x-privat.org...

Mi sembrava avessi detto... "Tutto l'ambaradan, pur funzionando, e' comunque
una soluzione che mi
soddisfa ben poco"
Ciao, Carlo


text:
> Mi sembrava avessi detto... "Tutto l'ambaradan, pur funzionando, e'
> comunque una soluzione che mi
> soddisfa ben poco"
> Ciao, Carlo
Si, e' cosi ancora adesso
Difatti sto cercando un'altra possibilita'
Ciao
RobertoA


author: Gabriele Bertolucci

text:
> Ti propongo una strada diversa ma altrettanto efficace.
> Nel db B scrivi una funzione simile a questa e in un modulo pubblico:
> Public Function ApriReport(NomeReport as string)
> DoCmd.OpenReport Nomereport, acViewPreview
> End Function
> A questo punto chiudi il db B e apri il db A; apri un modulo e aggiungi ai
> riferimenti il db B.mdb. Fatto.
> Ora da qualsiasi punto del db A puoi chiamare la funzione cosě:
> ApriReport ("NomeReportSulDbB")
>
> Se tutto va bene potrai visualizzare in anteprima il report del db B.
Purtroppo questo sistema non funziona nel caso in cui il db A sia un MDE
:-(
--
PBsoft di Gabriele Bertolucci
www.pbsoft.it
skype:pbsoftsolution


text:
"Gabriele Bertolucci" <"info[at]pbsoft[dot]it"> ha scritto nel messaggio
news:t1jpqspohfyj.1v83r2wrvpuqy$.dlg@40tude.net...
>> Ti propongo una strada diversa ma altrettanto efficace.
>> Nel db B scrivi una funzione simile a questa e in un modulo pubblico:
>> Public Function ApriReport(NomeReport as string)
>> DoCmd.OpenReport Nomereport, acViewPreview
>> End Function
>> A questo punto chiudi il db B e apri il db A; apri un modulo e aggiungi
>> ai
>> riferimenti il db B.mdb. Fatto.
>> Ora da qualsiasi punto del db A puoi chiamare la funzione cosě:
>> ApriReport ("NomeReportSulDbB")
>>
>> Se tutto va bene potrai visualizzare in anteprima il report del db B.
>
> Purtroppo questo sistema non funziona nel caso in cui il db A sia un MDE
> :-(
>
Ciao Gabriele
a me funziona perfettamente anche se entrambi sono mde...o uno di essi.
Procedure fatte:
database B in formato Axp (2002); conversione in mde non senza aver prima
scritto la funzione (ovvio);
apertura del db A.mdb; aggiunta del riferimento a db B.mde; conversione del
db A in mde...funziona benissimo. Da A richiamo il report che si trova in B
in anteprima di stampa.
Allo stesso modo posso aprire maschere di B.
Ciao, Carlo


text:
> a me funziona perfettamente anche se entrambi sono mde...o uno di essi.
Acc.....
Allora devo avere sbagliato qualcosa io, e spero proprio sia cosě.
> Procedure fatte:
> database B in formato Axp (2002); conversione in mde non senza aver prima
> scritto la funzione (ovvio);
> apertura del db A.mdb; aggiunta del riferimento a db B.mde; conversione del
> db A in mde...funziona benissimo. Da A richiamo il report che si trova in B
> in anteprima di stampa.
> Allo stesso modo posso aprire maschere di B.
Fin qui mi torna tutto.
Ma quello che non sono riuscito a fare io č questo: A.mdb con
l'applicazione, B.mdb con i report personalizzati per l'utente.
In A.mdb ho inserito un riferimento a B.mdb.
Compilo A.mdb senza problemi.
Provo a creare A.mde ma mi dice che non č possibile.
Se non ricordo male, un file MDE non puň avere tra i suoi riferimenti un
file MDB, mentre le altre combinazioni sono tutte ammesse (MDE con
rifeirmento a MDE, MDB con riferimento a MDB, MDB con riferimento a MDE).



text:
>> Procedure fatte:
>> database B in formato Axp (2002); conversione in mde non senza aver prima
>> scritto la funzione (ovvio);
>> apertura del db A.mdb; aggiunta del riferimento a db B.mde; conversione
>> del
>> db A in mde...funziona benissimo. Da A richiamo il report che si trova in
>> B
>> in anteprima di stampa.
>> Allo stesso modo posso aprire maschere di B.
>
> Fin qui mi torna tutto.
>
> Ma quello che non sono riuscito a fare io è questo: A.mdb con
> l'applicazione, B.mdb con i report personalizzati per l'utente.
> In A.mdb ho inserito un riferimento a B.mdb.
> Compilo A.mdb senza problemi.
> Provo a creare A.mde ma mi dice che non è possibile.
>
> Se non ricordo male, un file MDE non può avere tra i suoi riferimenti un
> file MDB, mentre le altre combinazioni sono tutte ammesse (MDE con
> rifeirmento a MDE, MDB con riferimento a MDB, MDB con riferimento a MDE).
E difatti lui dice di di aver convertito il B.mdb in mde e poi di aver
convertito l'A.mdb in mde
Il punto e' che se da A.mde fai riferimento alle stampe su B.mde come fai
poi da B.mde a modificarle ?
Funzionare fnziona, solo che non si capisce l'utilita' della cosa
Ciao
RobertoA


text:
> E difatti lui dice di di aver convertito il B.mdb in mde e poi di aver
> convertito l'A.mdb in mde
> Il punto e' che se da A.mde fai riferimento alle stampe su B.mde come fai
> poi da B.mde a modificarle ?
> Funzionare fnziona, solo che non si capisce l'utilita' della cosa
Ah, ecco!!!
Ora mi torna :-)



text:
"RobertoA" <
amor...@tiscalinet.it
> ha scritto nel messaggio
news:479f...@newsgate.x-privat.org...
cut
> E difatti lui dice di di aver convertito il B.mdb in mde e poi di aver
> convertito l'A.mdb in mde
> Il punto e' che se da A.mde fai riferimento alle stampe su B.mde come fai
> poi da B.mde a modificarle ?
> Funzionare fnziona, solo che non si capisce l'utilita' della cosa
> Ciao
> RobertoA
>
Ma se devi modificare qualcosa lascia uno o entrambi come mdb...qual'è il
problema?
Dai il db a un cliente? O devi usarlo per te?
Ciao, Carlo


text:
"Gabriele Bertolucci" <"info[at]pbsoft[dot]it"> ha scritto nel messaggio
news:vi320urpqoha.1ap593szcevdd$.dlg@40tude.net...
>> E difatti lui dice di di aver convertito il B.mdb in mde e poi di aver
>> convertito l'A.mdb in mde
>> Il punto e' che se da A.mde fai riferimento alle stampe su B.mde come fai
>> poi da B.mde a modificarle ?
>> Funzionare fnziona, solo che non si capisce l'utilita' della cosa
>
> Ah, ecco!!!
>
> Ora mi torna :-)
A Gabriè, ma cosa ti torna?
Tu hai detto: "Purtroppo questo sistema non funziona nel caso in cui il db A
sia un MDE".
A me funziona perfettamente, se vuoi ti posso mandare una copia.
Se poi hai bisogno di modificare qualcosa lascia tutto in mdb, che tanto
funziona tutto ugualmente.
Ciao, Carlo


text:
"Gabriele Bertolucci" <"info[at]pbsoft[dot]it"> ha scritto nel messaggio
news:1wvcy25zbyld$.itluou68517y.dlg@40tude.net...
cut
> Fin qui mi torna tutto.
>
> Ma quello che non sono riuscito a fare io è questo: A.mdb con
> l'applicazione, B.mdb con i report personalizzati per l'utente.
> In A.mdb ho inserito un riferimento a B.mdb.
> Compilo A.mdb senza problemi.
> Provo a creare A.mde ma mi dice che non è possibile.
>
> Se non ricordo male, un file MDE non può avere tra i suoi riferimenti un
> file MDB, mentre le altre combinazioni sono tutte ammesse (MDE con
> rifeirmento a MDE, MDB con riferimento a MDB, MDB con riferimento a MDE).
>
Esatto.
Questa operazione la devi fare prima di distribuire i due db.
> PBsoft di Gabriele Bertolucci
Ciao, Carlo


text:
>> E difatti lui dice di di aver convertito il B.mdb in mde e poi di aver
>> convertito l'A.mdb in mde
>> Il punto e' che se da A.mde fai riferimento alle stampe su B.mde come fai
>> poi da B.mde a modificarle ?
>> Funzionare fnziona, solo che non si capisce l'utilita' della cosa
>> Ciao
>> RobertoA
>>
> Ma se devi modificare qualcosa lascia uno o entrambi come mdb...qual'è il
> problema?
> Dai il db a un cliente? O devi usarlo per te?
E non puoi lasciare uno come mdb, o meglio non puoi lasciare solo il B come
mdb
L'obiettivo era, almeno nel mio caso, permettere al cliente di modificare i
report esistenti (B.mdb), pur consegnandogli l'A come mde per impedire
modifiche volontarie/involontarie del codice
Ciao
RobertoA


text:
> A Gabriè, ma cosa ti torna?
Carlo, mi sembra che facciamo a non capirci :-)
> Tu hai detto: "Purtroppo questo sistema non funziona nel caso in cui il db A
> sia un MDE".
E lo confermo.
> A me funziona perfettamente, se vuoi ti posso mandare una copia.
Se tu hai due file MDE, allora funziona, altrimenti non puoi nel file A.MDE
avere un riferimento ad un file B.MDB contenente i report.
> Se poi hai bisogno di modificare qualcosa lascia tutto in mdb, che tanto
> funziona tutto ugualmente.
Questo è un altro modo di far funzionare le cose: entrambi i file in MDB.



text:
>> Ma se devi modificare qualcosa lascia uno o entrambi come mdb...qual'è il
>> problema?
>> Dai il db a un cliente? O devi usarlo per te?
>
> E non puoi lasciare uno come mdb, o meglio non puoi lasciare solo il B come
> mdb
> L'obiettivo era, almeno nel mio caso, permettere al cliente di modificare i
> report esistenti (B.mdb), pur consegnandogli l'A come mde per impedire
> modifiche volontarie/involontarie del codice
Anche a me farebbe tanto piacere poter dare al cliente un file MDE con
l'applicazione ed un file MDB con i report.
E' proprio un peccato.



text:
>> Se non ricordo male, un file MDE non può avere tra i suoi riferimenti un
>> file MDB, mentre le altre combinazioni sono tutte ammesse (MDE con
>> rifeirmento a MDE, MDB con riferimento a MDB, MDB con riferimento a MDE).
>>
> Esatto.
> Questa operazione la devi fare prima di distribuire i due db.
E' proprio questo il succo della storia.
La necessità sarebbe quella di distribuire i report su un file MDB separato
dall'applicazione principale in MDE: purtroppo questo non è possibile.



text:
>>> Se non ricordo male, un file MDE non può avere tra i suoi riferimenti un
>>> file MDB, mentre le altre combinazioni sono tutte ammesse (MDE con
>>> rifeirmento a MDE, MDB con riferimento a MDB, MDB con riferimento a
>>> MDE).
>>>
>> Esatto.
>> Questa operazione la devi fare prima di distribuire i due db.
>
> E' proprio questo il succo della storia.
> La necessità sarebbe quella di distribuire i report su un file MDB
> separato
> dall'applicazione principale in MDE: purtroppo questo non è possibile.
Come non e' possibbole ?
Certo che lo e'
Solo che non puoi usare i riferimenti per arrivare ai report
Devi andare a colpi di
----------------------------
Set appAccess = CreateObject("Access.Application")
appAccess.OpenCurrentDatabase "C:\Documents and Settings\ecc
\db_prove.mdb"
appAccess.DoCmd.OpenReport "dipendenti", acViewPreview, , ,
acWindowNormal
appAccess.CloseCurrentDatabase
----------------------------
Il problema che invece vedrei e' l'impossibilita' di fornire, all'interno
della tua applicazione, un ambiente per modifcare i report o crearne di
nuovi
In pratica usando il sistema A.mde col codice e B.mdb con i report, ti
obblighi a fornire al cliente anche una copia di Access
E se per la maggior parte delle applicazioni potrebbe essere fattibile, per
quelle a 'basso costo' non lo e' assolutamente
Eppure ormai cello hanno tutti la personalizzazione dei report e quindi non
si puo' fare a meno di fornirla neanche se fai una semplice rubrica
telefonica
Ciao
RobertoA


text:
> Come non e' possibbole ?
> Certo che lo e'
> Solo che non puoi usare i riferimenti per arrivare ai report
> Devi andare a colpi di
> ----------------------------
> Set appAccess = CreateObject("Access.Application")
> ----------------------------
Vediamo se riesco a mettere la parola "fine" :-)
NON E' POSSIBILE: all'interno di un file MDE, avere un riferimento ad un
file MDB.
Quello che suggerisci tu è sempre, ovviamente, possibile, visto che ricorri
all'automation.



text:
"Gabriele Bertolucci" <"info[at]pbsoft[dot]it"> ha scritto nel messaggio
news:10dob5k9ja23j.1uhfmviuq2x7e$.dlg@40tude.net...
>> Come non e' possibbole ?
>> Certo che lo e'
>> Solo che non puoi usare i riferimenti per arrivare ai report
>> Devi andare a colpi di
>> ----------------------------
>> Set appAccess = CreateObject("Access.Application")
>> ----------------------------
>
> Vediamo se riesco a mettere la parola "fine" :-)
>
> NON E' POSSIBILE: all'interno di un file MDE, avere un riferimento ad un
> file MDB.
>
> Quello che suggerisci tu è sempre, ovviamente, possibile, visto che
> ricorri
> all'automation.
E fin qua' era chiaro ed accettato da tutti, credo
Ti ho semplicemente risposto alla
"...La necessità sarebbe quella di distribuire i report su un file MDB
separato
dall'applicazione principale in MDE: purtroppo questo non è possibile..."
E questa affermazione e' falsa perche' invece e' possibile usando
l'automazione
Ciao
RobertoA


text:
> Ti ho semplicemente risposto alla
> "...La necessità sarebbe quella di distribuire i report su un file MDB
> separato
> dall'applicazione principale in MDE: purtroppo questo non è possibile..."
> E questa affermazione e' falsa perche' invece e' possibile usando
> l'automazione
Giustissimo, Roberto :-)



title: Emissione stampe

author: mauro

text:
Ciao,
vorrei lanciare una stampa di un report su una stampante differente dalla
predefinita. Come posso fare usando VB?
Un saluto a tutti.
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news
 segnala gli abusi ad
ab...@newsland.it


title: Emissione stampe

author: ALESSANDRO Baraldi

text:
"mauro" <
m.gr...@libero.it
> ha scritto nel messaggio
news:bql4o6$dht$1...@news.newsland.it...
> Ciao,
> vorrei lanciare una stampa di un report su una stampante differente dalla
> predefinita. Come posso fare usando VB?
>
> Un saluto a tutti.
Basta dare all'utente la possibilità di impostare la stampante
diversa.
se non ricordo male così:
DoCmd.RunCommand acCmdPrint
Con A_XP in realtà c'è la possibilità tramite l'oggetto Printer di
impostare Runtime la stampante, ma la procedura è un pò più
complessa e richiede la conoscenza dell'oggetto, molte volte
non ne vale la pena.
@Alex.


title: Emissione stampe

text:
ALESSANDRO Baraldi ha scritto:




> @Alex.
E' possibile fare in modo che la stampante vnga selezioata automaticamente?



title: Emissione stampe

author: Alessandro Baraldi

text:
"mauro" <
m.gr...@libero.it
> wrote in message
news:bqmmc7$j43$
1...@news.newsland.it
[CUT]
> > se non ricordo male così:
> > DoCmd.RunCommand acCmdPrint
>
> > Con A_XP in realtà c'è la possibilità tramite l'oggetto Printer di
> > impostare Runtime la stampante, ma la procedura è un pò più
> > complessa e richiede la conoscenza dell'oggetto, molte volte
> > non ne vale la pena.
>
> > @Alex.
> E' possibile fare in modo che la stampante vnga selezioata automaticamente?
Come ti ho già risposto si se hai XP, ma è discretamente complesso.
Devi leggerti bene il manuale sull'oggetto PRINTER.
@Alex.
--
Posted via Mailgate.ORG Server -
http://www.Mailgate.ORG


title: Emissione stampe

text:
Ok. Ho frainteso la tua risposta. Grazie mille.
Mauro



title: Tabelle esistenti solo da codice!

author: Riccardo M.

text:
Un dubbio.
Ho provato a crearmi un elenco di tutti gli oggetti di un prg direttamente
da codice e mi sono usciti fuori dei
nomi di tabelle che non esistono (forse create una volta ma cancellate).
Provo ad aprire quelle tabelle da codice e vengono trovate senza dati (ma
con i nomi dei campi).
Come si può fare un pò di pulizia?
Cancellandole da codice oppure corro il rischio che mi cancella anche le
tabelle buone?
queste tabelle inesistenti sono di questo tipo:
~sq_cagg_File_Group~sq_cId_Agg_Gruppo
praticamente iniziano tutte con ~sq_ seguite da una "c" o da una "d" o da
una "f"
Che ne pensate?
Come mai esistono ancora ma non si vedono?
grazie
Riccardo
p.s.:
Ho provato a compattare il db ma continuano ad esserci


title: Tabelle esistenti solo da codice!

author: MA

text:
"Riccardo M." <
ricc...@free.panservice.it
> ha scritto nel messaggio
news:cn1ri2$mjt$1...@news.panservice.it...
> Un dubbio.
> Ho provato a crearmi un elenco di tutti gli oggetti di un prg direttamente
> da codice e mi sono usciti fuori dei
> nomi di tabelle che non esistono (forse create una volta ma cancellate).
> Provo ad aprire quelle tabelle da codice e vengono trovate senza dati (ma
> con i nomi dei campi).
> Come si puň fare un pň di pulizia?
> Cancellandole da codice oppure corro il rischio che mi cancella anche le
> tabelle buone?
> queste tabelle inesistenti sono di questo tipo:
> ~sq_cagg_File_Group~sq_cId_Agg_Gruppo
>
> praticamente iniziano tutte con ~sq_ seguite da una "c" o da una "d" o da
> una "f"
>
> Che ne pensate?
> Come mai esistono ancora ma non si vedono?
>
> grazie
> Riccardo
>
> p.s.:
> Ho provato a compattare il db ma continuano ad esserci
>
Importa in un nuovo db, cosě dovrebbe fare pulizia.
MAssimiliano


title: Tabelle esistenti solo da codice!

text:
"MA" <
mas...@massimilianoamendola.it
> ha scritto nel messaggio
news:7y_kd.32371$B06....@news.edisontel.com...

__________________________
č protetto a livello utente, con tutte le autorizzazioni per ogni utente.
se importo tutto in un nuovo db, perdo tutti i permessi... ho sbaglio?
Riccardo


title: Tabelle esistenti solo da codice!

author: Bruno Campanini

text:
"Riccardo M." <
ricc...@free.panservice.it
> wrote in message
news:cn1sg3$muv$1...@news.panservice.it...
>> > praticamente iniziano tutte con ~sq_ seguite da una "c" o da una "d" o
Quelle che iniziano con ~sq sono query che hai eliminato,
non tabelle, le puoi cancellare da codice con
DoCmd.DeleteObject acQuery, "~sq_XXX".
Ogni volta riceverai segnale di errore ma la query
verrà cancellata. Dopodiché non succede assolutamente
nulla, il database continua ad essere perfettamente funzionante.
Se importi tutto in un nuovo database, importi anche le ~sq_XXX.
Bruno


title: Tabelle esistenti solo da codice!

text:
"Bruno Campanini" <
bruno.XXX...@tin.it
> ha scritto nel messaggio
news:_F%kd.312947$35.14...@news4.tin.it...
> "Riccardo M." <
ricc...@free.panservice.it
> wrote in message
> news:cn1sg3$muv$1...@news.panservice.it...
>
> >> > praticamente iniziano tutte con ~sq_ seguite da una "c" o da una "d"
o
>
> Quelle che iniziano con ~sq sono query che hai eliminato,
> non tabelle, le puoi cancellare da codice con
> DoCmd.DeleteObject acQuery, "~sq_XXX".
> Ogni volta riceverai segnale di errore ma la query
> verrŕ cancellata. Dopodiché non succede assolutamente
> nulla, il database continua ad essere perfettamente funzionante.
>
> Se importi tutto in un nuovo database, importi anche le ~sq_XXX.
>
> Bruno
_______________________________
grazie mille.
ora č ok!
Riccardo


title: Tabelle esistenti solo da codice!

author: Karl Donaubauer

text:
Bruno Campanini wrote:
> "Riccardo M wrote:
>>>> praticamente iniziano tutte con ~sq_ seguite da una "c" o da una
>>>> "d" o
>
> Quelle che iniziano con ~sq sono query che hai eliminato,
No, solo l'ultimo query (o tabella) eliminata resta fino alla
chiusura del DB. Ma viene chiamate "~TMP....".
> non tabelle, le puoi cancellare da codice con
> DoCmd.DeleteObject acQuery, "~sq_XXX".
> Ogni volta riceverai segnale di errore ma la query
> verrà cancellata. Dopodiché non succede assolutamente
> nulla, il database continua ad essere perfettamente funzionante.
>
> Se importi tutto in un nuovo database, importi anche le ~sq_XXX.
No, non sono importate ma mentre l'importo di un oggetto
con una stringa SQL (vedi sotto) vengono create da nuovo.
Non è necessario di cancellare queste query temporari.
Come sono chiamate in questo modo vengono cancellate
automaticamente con la prossima compattazione del DB.
Access crea queste query da se stesso se nel DB ci sono
stringe SQL come Recordsource di una maschera o report
o come RowSource di un combo o list box quando si apre
la maschera o report per la prima volta. Si puo vedere
i nomi dei oggetti anche nel "~sq_...c o f ecc. e nomeoggetto"
Quindi sono innocue a utili e solo disturbano un po' forse
quando si fa un loop delle QueryDefs. Si puo escludere
i nomi delle query temporari p.e. con
If Not qdf.Name Like "~*" Then
o
If Left(qdf.Name,4)<>"~sq_" Then
--
cu
Karl
*********
Access-FAQ
http://www.donkarl.com/it


title: Anteprima .doc su form

author: TT

text:
AXP/WXP
Ciao
ho bisogno di inserire l'anteprima di un documento word in un form. E'
possibile e come si fa?
Ho inserito in una casella di testo, con l'evento del bottone, il seguente
collegam hypertext
-Me.casellaTesto.Value = NomeFileSenzaPath & Chr(35) & NomeFile & Chr(35)
in modo da poter aprire il .doc per le eventuali modifiche.
Mi piacerebbe avere l'anteprima a video.


title: Anteprima .doc su form

author: S. Savoldi

text:
"TT" <> AXP/WXP


Perchè non crei un collegamento ipertestuale a quell'oggetto?
Ciao: Silvio


title: Anteprima .doc su form

author: Sergio MAZZA

text:
"TT" <
tere...@libero.it
> ha scritto nel messaggio
news:CWJ7c.87354$FJ6.3...@twister1.libero.it...

Crea un oggetto associato e nel bottone inserisci il codice:
Me!nomeAssociatoOLE.SourceDoc = "C:\documenti\prova.doc"
Me!nomeAssociatoOLE.Action = acOLECreateLink
Occhio che per documenti molto grandi ci impiega un bel po'...
Ciao.
--
Sergio MAZZA


title: Anteprima .doc su form

text:
"Sergio MAZZA" <
sergi...@tiscalinet.it
> ha scritto nel messaggio
news:c3pd8p$16v$1...@canarie.caspur.it...

Ciao
Seguendo i tuoi suggerimenti scrivo
Private Sub Corpo_DblClick(Cancel As Integer)
    Dim nome As String
    Dim i As Integer
    nome = Me!TxtColleganento.Value
        For i = 1 To Len(nome) Step 1
            If Mid(nome, i, 1) = Chr(35) Then
                Exit For
            End If
        Next i
    nome = Mid(nome, i + 1, Len(nome) - i - 1)
    Me!AssociatoOLE.SourceDoc = nome '"C:\documenti\prova.doc"
    Me!AssociatoOLE.Action = acOLECreateLink
End Sub
facedo doppio click sul corpo mi visualizza nel AssociatoOLE l'anteprima
(con i sui tempi Miiiiiii che lungo). Ok funziona, che figata :-)
Supponendo di voler visualizzare l'antepima doc di ogni singolo record,
preciso che nella tabella memorizzo il valore di  TxtColleganento quindi
ogni record avrà un collegamento ad un doc, questo codice non mi va bene
perchè per ogni record visualizza la prima anteprima "creata".
Dirai : "Normale fai doppio click sul corpo per l'anteprima".
Dovrei inserire il codice in un evento che viene attivato ad ogni cambio
record, premendo i pulsanti di scorrimento record in fondo alla maschera.
Sai mica indicarmi la via?
Ciao
TT


title: Anteprima .doc su form

text:
"TT" <
tere...@libero.it
> ha scritto nel messaggio
news:ff28c.85562$Kc3.2...@twister2.libero.it...

Se vuoi farti del male; devi gestire l'evento "su corrente" della form, li
inserire il codice che assegna il SourceDoc...
Ciao.
P.S. Sarebbe il caso di verificare prima se il campo contiene il nome del
file (funzione IsNull (vedi help)) e se esiste il file (funzione Dir
(ari-vedi help)).
--
Sergio MAZZA


title: Anteprima .doc su form

text:
"Sergio MAZZA" <
sergi...@tiscalinet.it
> ha scritto nel messaggio
news:c3rfum$i5e$1...@canarie.caspur.it...

Sicuramente controllerò l'esistenza del collegamento.
Il "se vuoi farti male" immagino che sia per la lentezza. Proverò.
Grazie
TT


title: Anteprima .doc su form

text:
> > Se vuoi farti del male; devi gestire l'evento "su corrente" della form,
li
> > inserire il codice che assegna il SourceDoc...
> >
> > Ciao.
> >
> > P.S. Sarebbe il caso di verificare prima se il campo contiene il nome
del
> > file (funzione IsNull (vedi help)) e se esiste il file (funzione Dir
> > (ari-vedi help)).
> > --
> > Sergio MAZZA
> >
> >
> Sicuramente controllerò l'esistenza del collegamento.
> Il "se vuoi farti male" immagino che sia per la lentezza. Proverò.
>
> Grazie
> TT
>
>
Ho provato ed effettivamente è lunghetto, ma funziona. E' quello che cercavo
di fare.
La funzione dir però non mi serve a nulla, Perchè l'hai tirata fuori?
Grazie.
TT


title: Anteprima .doc su form

text:
"TT" <
tere...@libero.it
> ha scritto nel messaggio
news:bVm8c.91232$FJ6.3...@twister1.libero.it...

Come non ti serve a nulla? E come fai a sapere se esiste il file nella
cartella? Magari qualcuno inavvertitamente l'ha cancellato...
Ciao.
--
Sergio MAZZA


title: Anteprima .doc su form

text:
"Sergio MAZZA" <
sergi...@tiscalinet.it
> ha scritto nel messaggio
news:c3uvjl$hvb$1...@canarie.caspur.it...

In quel caso colui che ha cancellato il file verrà fustigato in pubblica
piazza.
Ma hai ragionissima, non ci avevo pensato. Porc.....
Grazie Ciao Ciao
TT


title: Query per richiamare record in base a data

author: Andrea R.

text:
Ciao a tutti.
Ho un problema con la gestione dei dati in base a date (scusate il gioco di
parole).
Ho creato una maschera dove, automaticamente, mi inserisce in una casella di
testo l'anno attuale in 4 cifre, in un'altra il mese attuale in lettere e in
un'altra il giorno del mese in cifre. le tre caselle sono non modificabili
dall'operatore. Nella tabella corrispondente, ogni valore è registrato in un
campo Data.
poi ci sono altri campi accessori.
lo scopo sarebbe quello, alla fine, di stampare un report su base mensile +
annuale (cioè gennaio 2007, marzo 2008, etc), dove raggruppare e
visualizzare tutti i dati registrati relativi a quel mese / anno.
Allora, dopo aver creato un report ad hoc, ho creato una query per cercare
di raggruppare i dati, ma niente da fare........
Ho provato due query:
1° query: mi visualizza in una cbx il mese / anno così mi seleziono il
mese/anno che mi interessa e poi la 2° query mi apre il report con i dati
raggruppati
SELECT [ProgressivoMOT9], [Anno] & " " & [Mese] AS Periodo
FROM tblMOT9
ORDER BY [Anno], [Mese];
2° query
SELECT tblMOT9.*
FROM tblMOT9
WHERE ((([tblMOT9].[Mese]) Like Nz([Forms]![frmMOT9]![cbxMeseMOT9],"*")));
La cbx basata sulla 1° query, però, mi visualizza tutti i record
(attualmente sono pochi sia perchè lo sto provando, sia perchè il mese è uno
solo, per ora) facendomi vedere la data in formato numerico (dd/mm/aaaa) e
io invece mi aspetterei di trovare il formato aaaa mmmmmm
Poi, è questo in verità non lo so fare, gradire vedere solo UN mese/anno
(cioè solo 2007 Dicembre) e non XX/12/2007 ripetuto tante volte quanti i
record inseriti a dicembre.
Poi vorrei sapere per quale motivo mi visualizza la data in formato
dd/mm/aaaa quando nella tabella viene memorizzato il mese in lettere.
In definitiva, non va.......
Suggerimenti per ottenere il risultato?
Grazie
Andrea


text:

Se il problema è il report raggruppato per anno/mese, non c'è bisogno di
raggruppare i dati nella query, lo fa direttamente il report indicando i
campi da raggruppare in: Visualizza - Ordinamento Raggruppamento e attivando
la visualizzazione dell'intestazione e piè di pagina per ogni gruppo
definito...
Ciao.
--
Sergio MAZZA


text:
"Sergio MAZZA" <
sergi...@tiscali.it
> ha scritto nel messaggio
news:fk05sv$ihb$1...@tdi.cu.mi.it...
> Se il problema è il report raggruppato per anno/mese, non c'è bisogno di
> raggruppare i dati nella query, lo fa direttamente il report indicando i
> campi da raggruppare in: Visualizza - Ordinamento Raggruppamento e
> attivando la visualizzazione dell'intestazione e piè di pagina per ogni
> gruppo definito...
>
> Ciao.
> --
> Sergio MAZZA
>
Grazie per il suggerimento. Ho fatto come mi hai indicato.
Ho provato mettendo indietro la data di sistema (ho fatto due inserimenti in
ottobre), poi l'ho sistemata e fatto due inserimenti in dicembre.
In effetti, mi riporta i valori in due sezioni separate (anche se devo
ancora capire come fargli indicare il mese e l'anno cui si riferisce il
raggruppamento), ma non è esattamente ciò di cui ho bisogno.
Ogni mese (o su richiesta), io dovrei stampare la pagina/e relativa ai
movimenti effettuati nel mese (o alla data della richiesta), quindi avrei
necessità di raggruppare solo i dati di quel mese; nell'intestazione mi
riporterebbe anno, mese e alcuni altri dati aggiuntivi.
Usando la funzione di raggruppamento che mi suggerisci, mi stamperebbe
sempre tutto il report dal primo record inserito fino all'ultimo, tutti di
seguito.
Andrea


text:
Andrea R. wrote:
> Grazie per il suggerimento. Ho fatto come mi hai indicato.
> Ho provato mettendo indietro la data di sistema (ho fatto due
> inserimenti in ottobre), poi l'ho sistemata e fatto due inserimenti
> in dicembre. In effetti, mi riporta i valori in due sezioni separate
> (anche se devo
> ancora capire come fargli indicare il mese e l'anno cui si riferisce
> il raggruppamento), ma non è esattamente ciò di cui ho bisogno.
> Ogni mese (o su richiesta), io dovrei stampare la pagina/e relativa ai
> movimenti effettuati nel mese (o alla data della richiesta), quindi
> avrei necessità di raggruppare solo i dati di quel mese;
> nell'intestazione mi riporterebbe anno, mese e alcuni altri dati
> aggiuntivi. Usando la funzione di raggruppamento che mi suggerisci, mi
> stamperebbe
> sempre tutto il report dal primo record inserito fino all'ultimo,
> tutti di seguito.
>
> Andrea
Nella origine dati del report (la query) devi inserire due campi calcolati
"Anno" e "Mese":
(es.)
Anno: Year(dataMovimento)
Mese: Month(dataMovimento)
Nel report fai il raggruppamento per questi due campi calcolati...
Ciao.
--
Sergio MAZZA


text:
>
> Nella origine dati del report (la query) devi inserire due campi calcolati
> "Anno" e "Mese":
> (es.)
> Anno: Year(dataMovimento)
> Mese: Month(dataMovimento)
>
> Nel report fai il raggruppamento per questi due campi calcolati...
>
> Ciao.
> --
> Sergio MAZZA
>
Sono un paio di giorni che ci provo, ma la mia scienza è molto limitata.
Stavo pensando una alternativa, forse (spero) più semplice concettualmente.
Eliminati i campi data automatici iniziali, ho creato due campi di tipo data
(DataCarico e DataScarico).
Per inciso, fondamentalmente questo db mi dovrebbe gestrire il
carico/scarico di materiale, per cui ho, nella maschera, due parti identiche
nei contenuti, ma una solo per il carico e una solo per lo scarico (cioè, i
campi da compilare sono gli stessi in duplice copia, ma in alcuni controlli
esegue dei calcoli di somma/differenza a seconda si tratti di carico o
scarico). Nella tabella di riferimento ci sono tutti questi campi "in
doppio". All'inizio di ognuna di queste due "sezioni" di inserimento ho
collocato la casella "Data" (che sarà " di Carico" o " di Scarico")
Nella sezione di stampa report, ho creato due controlli di testo non
associati (txtDataCarico e txtDataScarico), con maschera di inserimento
00/00/0000 in cui inserire data di inizio e di fine mese.
Come faccio a dire alla query di selezionare tutti i records in cui i campi
DataCarico e DataScarico sono compreso tra i due valori (compresi) inseriti
in quei due controlli non associati, e di ordinarli cronologicamente?
Grazie
Andrea


text:
"Andrea R." <
caval...@libero.it
> ha scritto nel messaggio
news:476a51fb$0$37204$4faf...@reader3.news.tin.it...
>
> Sono un paio di giorni che ci provo, ma la mia scienza è molto limitata.
> Stavo pensando una alternativa, forse (spero) più semplice
> concettualmente.
> Eliminati i campi data automatici iniziali, ho creato due campi di tipo
> data (DataCarico e DataScarico).
> Per inciso, fondamentalmente questo db mi dovrebbe gestrire il
> carico/scarico di materiale, per cui ho, nella maschera, due parti
> identiche nei contenuti, ma una solo per il carico e una solo per lo
> scarico (cioè, i campi da compilare sono gli stessi in duplice copia, ma
> in alcuni controlli esegue dei calcoli di somma/differenza a seconda si
> tratti di carico o scarico). Nella tabella di riferimento ci sono tutti
> questi campi "in doppio". All'inizio di ognuna di queste due "sezioni" di
> inserimento ho collocato la casella "Data" (che sarà " di Carico" o " di
> Scarico")
> Nella sezione di stampa report, ho creato due controlli di testo non
> associati (txtDataCarico e txtDataScarico), con maschera di inserimento
> 00/00/0000 in cui inserire data di inizio e di fine mese.
> Come faccio a dire alla query di selezionare tutti i records in cui i
> campi DataCarico e DataScarico sono compreso tra i due valori (compresi)
> inseriti in quei due controlli non associati, e di ordinarli
> cronologicamente?
>
> Grazie
> Andrea
Secondo me è da rivedere un po' tutta l'analisi.
Se vuoi gestire i movimenti carico/scarico con una sola tabella, è inutile
che crei due campi di contenuto logico (data del movimento) identico e poi
non sai identificare il record (se carico/scarico) in modo preciso.
Io farei così:
[Movimenti]
- id, contatore, indicizzato (duplicati non ammessi)
- dataMovimento, data
- tipoMovimento, testo 1 carattere, (Se "C" = carico o "S" = scarico)
- altri dati...
A questo punto ottenere le differenze in base al tipo di movimento/data
risulta semplice...
Ciao.
--
Sergio MAZZA


text:
> Secondo me è da rivedere un po' tutta l'analisi.
> Se vuoi gestire i movimenti carico/scarico con una sola tabella, è inutile
> che crei due campi di contenuto logico (data del movimento) identico e poi
> non sai identificare il record (se carico/scarico) in modo preciso.
> Io farei così:
> [Movimenti]
> - id, contatore, indicizzato (duplicati non ammessi)
> - dataMovimento, data
> - tipoMovimento, testo 1 carattere, (Se "C" = carico o "S" = scarico)
> - altri dati...
>
> A questo punto ottenere le differenze in base al tipo di movimento/data
> risulta semplice...
>
> Ciao.
> --
> Sergio MAZZA
>
Hai ragione, in effetti è un pò complicato quello che ho creato.
Ma il problema nasce dal fatto che mensilmente devo stampare una specie di
cronologico. Sul report mi riporta, affiancati, in una metà il carico, nella
seconda metà lo scarico.
In effetti, ogni giorno del mese, io vedo che carico e scarico è stato
fatto.
Oggi ho smembrato un pò il db, e ho risolto parzialmente il problema in
questo modo:
- Ho inserito una sola data, ad inserimento manuale (es. 10/12/2007)
- viene compilata la parte che riguarda il carico o lo scarico
- ho creato una query di selezione usando come WHERE la sintassi
Month[DataCaricoScarico]=Month(now())
Così facendo, a fine mese mi stampa tutti i record inseriti nel mese in
corso (e per ora va bene).
Basta ricordarsi di farlo ogni fine mese, perchè altrimenti, ovviamente, il
mese successivo non mi riporterà nulla.
Ecco perchè volevo inserire come criterio della query un intervallo di data
in cui cercare.
Un ulteriore problema che mi si presenterà (già lo so, ma in questo momento
non saprei come gestirlo) sarà quando nella stessa giornata farò più di un
movimento di Scarico (il Carico sarà impossibile farlo più di una volta al
giorno, questo è sicuro); in tal casol'ideale sarà farmi riportare, nella
riga del report di quel giorno, il totale dei movimenti di Scarico e non
tante righe per tanti scarichi fatti in quel giorno.
PS: nel report ho inserito un controllo testo con sintassi: =Year(Now()) ed
un altro : =Month(Now())
per l'anno è tutto ok, ma per il mese mi riporta il numerico. Per fargli
indicare il mese in lettere?
Andrea


text:
"Andrea R." <
caval...@libero.it
> ha scritto nel messaggio
news:476a7cb8$0$36449$4faf...@reader5.news.tin.it...
>
> Hai ragione, in effetti è un pò complicato quello che ho creato.
> Ma il problema nasce dal fatto che mensilmente devo stampare una specie di
> cronologico. Sul report mi riporta, affiancati, in una metà il carico,
> nella seconda metà lo scarico.
> In effetti, ogni giorno del mese, io vedo che carico e scarico è stato
> fatto.
> Oggi ho smembrato un pò il db, e ho risolto parzialmente il problema in
> questo modo:
> - Ho inserito una sola data, ad inserimento manuale (es. 10/12/2007)
> - viene compilata la parte che riguarda il carico o lo scarico
> - ho creato una query di selezione usando come WHERE la sintassi
> Month[DataCaricoScarico]=Month(now())
Utilizza la funzione Date() non Now(); non hai bisogno delle ore per avere
il mese.
> Così facendo, a fine mese mi stampa tutti i record inseriti nel mese in
> corso (e per ora va bene).
> Basta ricordarsi di farlo ogni fine mese, perchè altrimenti, ovviamente,
> il mese successivo non mi riporterà nulla.
> Ecco perchè volevo inserire come criterio della query un intervallo di
> data in cui cercare.
Per indicare un periodo devi utilizzare l'operatore Between:
(esempio nei criteri):
[dataMovimento] Between CVDate([inserire la prima data]) And
CVDate([inserire la seconda data])
> Un ulteriore problema che mi si presenterà (già lo so, ma in questo
> momento non saprei come gestirlo) sarà quando nella stessa giornata farò
> più di un movimento di Scarico (il Carico sarà impossibile farlo più di
> una volta al giorno, questo è sicuro); in tal casol'ideale sarà farmi
> riportare, nella riga del report di quel giorno, il totale dei movimenti
> di Scarico e non tante righe per tanti scarichi fatti in quel giorno.
Utilizzi sempre i raggruppamenti e nel piè di pagina del gruppo puoi crearti
una casella di testo con l'espressione: Count("*").
> PS: nel report ho inserito un controllo testo con sintassi: =Year(Now())
> ed un altro : =Month(Now())
> per l'anno è tutto ok, ma per il mese mi riporta il numerico. Per fargli
> indicare il mese in lettere?
=Choose(Month(Date());"Gennaio";"Febbraio";"Marzo";...;"Dicembre")
> Andrea
Ciao.
--
Sergio MAZZA


text:

Grazie sei gentilissimo.
Domani mattina cerco di apportare questi miglioramenti e ti farò sapere
l'esito.
Ciao
Andrea


title: Capire se esiste una form nel programma

author: Xymox

text:
E' possibile capire se esiste una determinata maschera (form) all'interno
del programma.
Qualcosa tipo questo che utilizzo per le tabelle:
Dim  MyTab As TableDef
For Each MyTab In db.TableDefs
  If (MyTab.NAME = "T_Sch_Generale") Then Me.CmdSchOrd.Enabled = True
Next
ciao e grazie
marco s.


title: Capire se esiste una form nel programma

author: Sib

text:
"Xymox" <
guarda...@libero.it
> ha scritto nel messaggio
news:bhdb90$10sja0$1...@ID-122915.news.uni-berlin.de...

For i = 0 To CurrentDb.Containers(2).Documents.Count - 1
    Debug.Print i, CurrentDb.Containers(2).Documents(i).Name
Next i
questo ti elenca tutte le maschere (aperte e chiuse)
Ma secondo me il metodo piu' veloce e' cercare di aprirla e intercettare
l'eventuale errore.
Sib


title: Capire se esiste una form nel programma

text:
> E' possibile capire se esiste una determinata maschera (form) all'interno
> del programma.
> Qualcosa tipo questo che utilizzo per le tabelle:
Puoi provare ad aprire la form che vuoi testare, lasciandola nascosta,
quindi la chiudi.
Testi l'eventuale codice di errore che ti restituisce la Open.
--
Gabriele Bertolucci
PBsoft


title: Capire se esiste una form nel programma

author: Jonathan Canova

text:
"Xymox" <
guarda...@libero.it
> ha scritto nel messaggio
news:bhdb90$10sja0$1...@ID-122915.news.uni-berlin.de...

Se utilizzi Access dalla versione 2000 in poi, hai anche un altro modo.
Function ExistForm(strNomeForm As String) As Boolean
    Dim s As String
    On Error Resume Next
    s = CurrentProject.AllForms(strNomeForm).Name
    ExistForm = (Err = 0)
End Function
--
Jonathan Canova
www.aladinoinformatica.com


title: Capire se esiste una form nel programma

text:
"Sib" <si...@SPAMiol.it> ha scritto
> For i = 0 To CurrentDb.Containers(2).Documents.Count - 1
>     Debug.Print i, CurrentDb.Containers(2).Documents(i).Name
> Next i
>
> questo ti elenca tutte le maschere (aperte e chiuse)
Effettivamente risolve il mio problema, bisogna sostituire 1 con 2, in
quanto 2 sono i moduli ... grazie 1000
Dim i As Integer
For i = 0 To CurrentDb.Containers(1).Documents.Count - 1
    If (CurrentDb.Containers(1).Documents(i).NAME = "S_LayRic") Then
      Me.Help.Enabled = True
      Exit For
    End If
Next i
> Ma secondo me il metodo piu' veloce e' cercare di aprirla e intercettare
> l'eventuale errore.
Io apro una scheda che ha un tasto (Help) che ne apre un'altra, volevo
disabilitarlo subito se nel db non esiste la scheda che dovrebbe aprire.
La scheda principale viene utilizzata in vari db, ma non tutti possono
aprire l'altra scheda.
Unico problema che rallente un pò l'apertura.
ciao marco s.


title: Capire se esiste una form nel programma

text:
"Jonathan Canova" <
gio...@galactica.it
> ha scritto
> Se utilizzi Access dalla versione 2000 in poi, hai anche un altro modo.
>
> Function ExistForm(strNomeForm As String) As Boolean
>     Dim s As String
>     On Error Resume Next
>     s = CurrentProject.AllForms(strNomeForm).Name
>     ExistForm = (Err = 0)
> End Function
In azienda ho la versione Developer sia del '97 che del 2000 che dell'XP, ma
continuo a lavorare con il '97.
Cmq ti ringrazio e intanto mi sono salvato questo post :-)
ciao marco s.


title: Capire se esiste una form nel programma

text:
"Xymox" <
guarda...@libero.it
> ha scritto nel messaggio
> "Sib" <si...@SPAMiol.it> ha scritto
>
> > For i = 0 To CurrentDb.Containers(2).Documents.Count - 1
> >     Debug.Print i, CurrentDb.Containers(2).Documents(i).Name
> > Next i
> >
> > questo ti elenca tutte le maschere (aperte e chiuse)
>
> Effettivamente risolve il mio problema, bisogna sostituire 1 con 2, in
> quanto 2 sono i moduli ... grazie 1000
Forse da te. Probabilmente usi A97
> Dim i As Integer
> For i = 0 To CurrentDb.Containers(1).Documents.Count - 1
>     If (CurrentDb.Containers(1).Documents(i).NAME = "S_LayRic") Then
>       Me.Help.Enabled = True
>       Exit For
>     End If
> Next i
>
> > Ma secondo me il metodo piu' veloce e' cercare di aprirla e intercettare
> > l'eventuale errore.
>
> Io apro una scheda che ha un tasto (Help) che ne apre un'altra, volevo
> disabilitarlo subito se nel db non esiste la scheda che dovrebbe aprire.
> La scheda principale viene utilizzata in vari db, ma non tutti possono
> aprire l'altra scheda.
Forse non mi sono spiegato, invece di fare il ciclo For fai cosi':
public function esiste(stTuaForm as string) as boolean
    on error goto NonEsiste
    docmd.openform stTuaForm,,,,,acHidden
    docmd.close acform, stTuaForm
    Esiste = true
    exit function
NonEsiste:
    Esiste=false
end function
Sib


title: Dichiarazione nome campo.

author: Old-Jack

text:
Ho una tabella collegata con un campo denominato IMP,
Ogni volta che faccio una query di selezione e metto questo campo mi dà
errore si sintassi,
questo perchè imp è anche un opertaore.
Visto che la tabella è collegata ed io non posso modificare la struttura
come faccio a tirar fuori questo benedetto campo?
Ciao
  Old-Jack


title: Dichiarazione nome campo.

author: Maurizio Borrelli

text:
> "Old-Jack" [...]:

        [IMP]
--
Ciao :-)
Maurizio
--------
?SPQR(C)
 X
--------


title: Dichiarazione nome campo.

text:
"Maurizio Borrelli" <
maurizio...@freepass.it
> wrote in message
news:akfg34$1hu6pm$2...@ID-52090.news.dfncis.de...
> > "Old-Jack" [...]:
> > Ho una tabella collegata con un campo denominato IMP,
> > Ogni volta che faccio una query di selezione e metto questo campo mi dà
> > errore si sintassi,
> > questo perchè imp è anche un opertaore.
> > Visto che la tabella è collegata ed io non posso modificare la struttura
> > come faccio a tirar fuori questo benedetto campo?
>
>         [IMP]
E' vero....
Grazie tante.


title: contatore con testo

author: luigi

text:
ho fatto un campo contatore incrementale con la seguente formula "
=IIf(DCount("[contatore]";"determine")=0;"0000001";Format$(DMax("[contatore]";"determine")+1;"0000000"))"
al numero che esce vorrei aggiungere uno "/Inf" ma non so attaccarlo alla
formula.
SOS
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news
 segnala gli abusi ad
ab...@newsland.it


title: contatore con testo

author: Antonio Biso

text:
"luigi" <
onof...@tin.it
> ha scritto nel messaggio
news:c5llcv$aae$1...@news.newsland.it...
> ho fatto un campo contatore incrementale con la seguente formula "
>
=IIf(DCount("[contatore]";"determine")=0;"0000001";Format$(DMax("[contatore]
";"determine")+1;"0000000"))"
> al numero che esce vorrei aggiungere uno "/Inf" ma non so attaccarlo alla
> formula.
> SOS
Bicchieri d'acqua in tempesta...
=IIf(DCount("[contatore]";"determine")=0;"0000001";Format$(DMax("[contatore]
";"determine")+1;"0000000")) & "/Inf"
Occhio che c'era un doppio apice di troppo alla fine
Antonio


title: contatore con testo

text:
Antonio Biso ha scritto:




> Antonio
ho provato, funziona solo con il primo record inserito, se passo
all'inserimento di un nuovo record "2 o success." mi da errore!



title: contatore con testo

text:
"luigi" <
onof...@tin.it
> ha scritto nel messaggio
news:c5lnh0$sr$1...@news.newsland.it...
> Antonio Biso ha scritto:
>
> > "luigi" <
onof...@tin.it
> ha scritto nel messaggio
> > news:c5llcv$aae$1...@news.newsland.it...
> > > ho fatto un campo contatore incrementale con la seguente formula "
> > >
> >
=IIf(DCount("[contatore]";"determine")=0;"0000001";Format$(DMax("[contatore]
> > ";"determine")+1;"0000000"))"
> > > al numero che esce vorrei aggiungere uno "/Inf" ma non so attaccarlo
alla
> > > formula.
> > > SOS
>
> > Bicchieri d'acqua in tempesta...
>
> >
=IIf(DCount("[contatore]";"determine")=0;"0000001";Format$(DMax("[contatore]
> > ";"determine")+1;"0000000")) & "/Inf"
>
> > Occhio che c'era un doppio apice di troppo alla fine
>
> > Antonio
>
> ho provato, funziona solo con il primo record inserito, se passo
> all'inserimento di un nuovo record "2 o success." mi da errore!
Eh!
E quale errore?
Antonio


title: contatore con testo

text:
Antonio Biso ha scritto:

> Eh!
> E quale errore?
> Antonio
 e boh! se lo sapessi!!!  nel campo esce "#error"  come se non troverebbe
l'ultimo contatore di riferimento forse a causa dell' "/inf" che ha
attaccato il record precedente ?



title: contatore con testo

text:
"luigi" <
onof...@tin.it
> ha scritto nel messaggio
news:c5lodv$b78$1...@news.newsland.it...

Sigh...
> l'ultimo contatore di riferimento forse a causa dell' "/inf" che ha
> attaccato il record precedente ?
Sě, ci manca una parentesi alla fine, prima di & "/inf", che č quella che
chiude l'iif
Antonio


title: contatore con testo

author: ciroteo

text:
"Antonio Biso" <
ch...@etruria.net
> ha scritto nel messaggio
news:wFtfc.126953$Kc3.4...@twister2.libero.it...

Gulp!



title: contatore con testo

text:
=IIf(DCount("[contatore]";"determine")=0;"0000001";Format$(DMax("[contatore]";"determine")+1;"0000000"))
& "/Inf"
> > > >
> > > > > Occhio che c'era un doppio apice di troppo alla fine
> > > >
> > > > > Antonio
> > > >
> > > > ho provato, funziona solo con il primo record inserito, se passo
> > > > all'inserimento di un nuovo record "2 o success." mi da errore!
> >
> > > Eh!
> > > E quale errore?
> >
> > > Antonio
> >  e boh! se lo sapessi!!!  nel campo esce "#error"  come se non troverebbe
> Sigh...
> > l'ultimo contatore di riferimento forse a causa dell' "/inf" che ha
> > attaccato il record precedente ?
> Sě, ci manca una parentesi alla fine, prima di & "/inf", che č quella che
> chiude l'iif
> Antonio

ce ne sono 2 di parentesi tonde, se ce ne aggiungo una terza, mi da errore
di sintassi "una parentesi di troppo" , mi sa che l'errore non dipende da
questo! o sbaglio?



title: contatore con testo

text:
"luigi" <
onof...@tin.it
> ha scritto nel messaggio
news:c5lqg1$vhn$1...@news.newsland.it...
>
=IIf(DCount("[contatore]";"determine")=0;"0000001";Format$(DMax("[contatore]
";"determine")+1;"0000000"))
> & "/Inf"
> > > > >
> > > > > > Occhio che c'era un doppio apice di troppo alla fine
> > > > >
> > > > > > Antonio
> > > > >
> > > > > ho provato, funziona solo con il primo record inserito, se passo
> > > > > all'inserimento di un nuovo record "2 o success." mi da errore!
> > >
> > > > Eh!
> > > > E quale errore?
> > >
> > > > Antonio
> > >  e boh! se lo sapessi!!!  nel campo esce "#error"  come se non
troverebbe
>
> > Sigh...
>
> > > l'ultimo contatore di riferimento forse a causa dell' "/inf" che ha
> > > attaccato il record precedente ?
>
> > Sě, ci manca una parentesi alla fine, prima di & "/inf", che č quella
che
> > chiude l'iif
>
> > Antonio
>
> ce ne sono 2 di parentesi tonde, se ce ne aggiungo una terza, mi da errore
> di sintassi "una parentesi di troppo" , mi sa che l'errore non dipende da
> questo! o sbaglio?
Si č vero...
Fai cosě
nel controllo mettici
=Format$(DMax("[contatore]";"determine")+1;"0000000")
poi aggiungici & "inf"
Antonio


title: contatore con testo

text:
Antonio Biso ha scritto:


> Antonio
Niente da fare!!! da sempre errore! al secondo record



title: contatore con testo

text:
Antonio Biso ha scritto:


> Antonio
HO RISOLTO IN QUESTO MODO:
="Inf" & "/" &
Format(IIf(IsNull(DMax("[contatore]";"[determine]";"[contatore] like 'Inf"
& "/????'"));1;Right(DMax("[contatore]";"[determine]";"[contatore] like
'Inf" & "/????'");4)+1);"0000")
E PARE CHE FUNZIONI SENZA DARE PROBLEMI ! speriamo ! :-)))



title: contatore con testo

text:
"luigi" <
onof...@tin.it
> ha scritto nel messaggio
news:c5m625$30n$1...@news.newsland.it...

Uh cazzarola!!!
Vuoi dire che contatore veniva aggiornato dal risultato del format + "/Inf"
E allora non era piů numerico!!!
E quando lo dici?!!?
Antonio


title: Query di selezione

author: pino Uff.

text:
Saluti a tutti
Ho una query di selezione che alimenta una sottomaschera, in questa query
ci sono in più due capi
espressione.
Mi capita questo, nel campo memo che l'ho sempre visualizzato normalmente
tutto ad un tratto mi
visualizza all'inizio del campo strani segni tipo lettere giapponesi!!
Non riesco a capire il perchè, sempbrerebbe che  quando supera nella
tabella base  un volume di
record circa un migliaio incomci a verificarsi questo strano comportameto!!
Se tolgo i campi calcolati che non centrano niente con il campo memo, li
visualizza normalmente.
Sbaglio qualcosa?
Grazie
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news
 segnala gli abusi ad
ab...@newsland.it


title: Maschere

author: mrfree

text:
scusate ancora
come posso ovviare al problema duplicati esempio
nella maschera quando vado ad inserire il codice fiscale per esempio o il
cognome mi deve segnalare se all'interno del db esiste o meno un duplicato
spero che mi possiate aiutare.-
grazie Piero


title: Maschere

author: Uranox

text:

Io metterei sul CodFisc. una chiave primaria che non ammette duplicati.
Quando ci provi ti da' errore che tu intercetti e avverti che c'e' gia'.
Ciao
Ux


title: Routine Codice Fiscale

author: Mauro Agosti

text:
Lo so che magari già in altri 1000 vi avranno fatto questa richiesta, ma io
sono nuovo del NG e mi risulta difficile credere che nessuno di voi abbia da
qualche parte una
routine o un ActiveX per la creazione del Codice Fiscale da utilizzarsi in
un Db di Access2000.
Vero che potete risolvermi questo problema?
Grazie in anticipo a tutti
Mauro
mag...@libero.it


title: Routine Codice Fiscale

text:
> "Mauro Agosti" news:HgFq9.31330$
RO.7...@twister1.libero.it
:
> Lo so che magari già in altri 1000 vi avranno fatto questa richiesta, ma
io
> sono nuovo del NG e mi risulta difficile credere che nessuno di voi abbia
da
> qualche parte una
> routine o un ActiveX per la creazione del Codice Fiscale da utilizzarsi in
> un Db di Access2000.

http://www.sitocomune.com
--
Ciao :-)
Maurizio
--------
?SPQR(C)
 X
--------


title: [Re] per  "MA" Sottomaschera attiva

author: Gianni

text:
MA" <
mas...@massimilianoamendola.it
> ha scritto nel messaggio
news:TUhQd.2972$hd...@news.edisontel.com...
>
> "Gianni" <
giann...@hotmail.com
> ha scritto nel messaggio
> news:3Z5Qd.32561$lB4.8...@twister1.libero.it...
>> Ciao a tutti.....
>> Un piccolo problemino.....ho creato un maschera "offerta" con
>> sottomaschera
>> "dettagli", il tutto legati con IDOfferta (uno a molti).
>> Come posso fare affinchè sia attiva la sottomaschera SOLO dopo avere
>> inserito almeno un dato (cioè "Newrecord") nella mschera "Offerta"?... se
>> no
>> succede di avere dei "dettagliofferta" senza offerta!
>>
>>
>> Ciao e grazie per vostro sempre utilissimo aiuto!
>> Gianni
>>
> Su current della maschera
> if isnull(CampoContatoreMaschera) then _
>    me.tuasotoomaschera.enabled = false
> MAssimiliano
>
Ciao MA...
ho scritto
Private Sub Form_Current()
If IsNull(IDGenerali) Then Me.Pagina21.Enabled = False
End Sub
la "cosa" funziona solo che anche quando inserisco un nuovo record (Nuovo
IDGenerali) non mi aggiorna il valore della "pagina21", cioè rimane
inattiva!
serve forse un DoCmd.RepaintObject o qualcosa di simile?
ciao e grazie
Gianni


title: [Re] per  "MA" Sottomaschera attiva

author: MA

text:
"Gianni" <
giann...@hotmail.com
> ha scritto nel messaggio
news:ilMQd.35948$lB4.9...@twister1.libero.it...

Devi prevedere il caso contrario.
L'evento current intercetta "l'aumentare del contatore " (l'incremento del
record)
 Private Sub Form_Current()
 If IsNull(IDGenerali) Then
    Me.Pagina21.Enabled = False
else
    Me.Pagina21.Enabled = true
End Sub
MAssimiliano


title: Operazione Update non riuscita su tabella collegata

author: oXon

text:
Ciao a tutti,
in un FE access, con BE collegato a sql server, ogni tanto lavorando in
una maschera, durante il salvataggio dei dati il sistema va in blocco
generando il seguente messaggio:
"operazione update non riuscita su tabella collegata xxxxx"
odbc sql server driver timeout scaduto
Qualche idea?
Grazie
oXon


author: giorgio rancati

text:
"oXon" <
pr...@tiscali.it
> ha scritto nel messaggio
news:7fZmo.210928$9f6.4...@twister1.libero.it...

Ciao oXon,
probabilmente la tabella ha molti record ed è aperta anche da altri utenti.
Quando apri una tabella allegata a Sql server, il driver odbc in presenza di
molte righe non trasferisce tutti i bookmark al client, trasferisce solo
quelli necessari e sospende la lettura, questo causa un blocco nelle pagine
dati della tabella e nelle pagine indice, quindi se cerchi di fare l'update
di un record che è in una pagina bloccata da un altro utente, l'operazione
va in timeout perchè Sql server attende che la pagina venga sbloccata.
Per verificare quanto ho scritto sopra, apri da access una tabella allegata
con molte righe, poi apri Sql Server management studio ed esegui nella
finestra di una nuova query l'istruzione T-SQL
EXEC sp_lock
Qui trovi le informazioni per interpretare il risultato restituito dalla
sp_lock
----
sp_lock (Transact-SQL)
http://msdn.microsoft.com/it-it/library/ms187749.aspx
----
Per risolvere:
richiedere pochi record al server impostando dei filtri o se necessario e se
hai Sql server 2005 o superiore, utilizzare il livello di isolamento
READ_COMMITTED_SNAPSHOT basato sul controllo delle versioni delle righe.
Vedi:
----
Utilizzo di livelli di isolamento basati sul controllo delle versioni delle
righe
http://technet.microsoft.com/it-it/library/ms179599(SQL.90).aspx
----
Ciao
Giorgio Rancati


title: Proprietà casella combinata

text:
All'interno di una maschera di ricerca, ho previsto una casella
combinata nel quale sono contenuti i "nominativi",  di un elenco
fornitori, ordinati in maniera crescente.
Tuttavia se clicco sul nominativo "ROSSI MARIO" il valore ID che viene
selezionato
[ID = nominativo.coloumn(4)]
corrisponde a "ROSSI ANDREA" che è il primo del raggruppamento ROSSI.
Come posso risolvere questo inconveniente
... Un aiutino, grazie.
Cosimo


title: record e query

author: kwz

text:
dovrei filtrare in un report in modo che visualizzi tutti e soli i record
ottenuti da una query del tipo:
select * from clienti where clienti.pagato=vero
ho provato in tutti i modi ma visualizza sempre tutti i recor; come fare?


title: record e query

author: Alessandro Cara

text:

evidentemente non hai provato in "tutti" i modi ;<)
cosa c'e' sulla proprieta' "origine record" del report?
--
a.cara


title: record e query

author: Fabrizio

text:
"kwz" <
ciuk...@libero.it
> ha scritto nel messaggio
news:adGb9.38961$pX1.1...@news2.tin.it...
> dovrei filtrare in un report in modo che visualizzi tutti e soli i record
> ottenuti da una query del tipo:
>
> select * from clienti where clienti.pagato=vero
vero? in SQL
> ho provato in tutti i modi ma visualizza sempre tutti i recor; come fare?
Se clienti.pagato è un campo booleano (SI/NO):
SELECT Clienti.* FROM clienti WHERE (clienti.pagato=true)
, a me funzia.
Domanda idiota: non è che i tuoi clienti hanno tutti pagato?
Ciao. Fabrizio.


title: record e query

text:
"Fabrizio" <fabrizio...@SPAMtiscalinet.it> ha scritto nel messaggio
news:akncu5$sjc$1...@lacerta.tiscalinet.it...

nell'origine controllo ho provato a mettere sia la query (nel qual caso
spesso, all'esecuzione, mostrava una finestrella di inserimento dati e,
dando ok, una serie di errori), sia una cosa del tipo:
iif(clienti.pagato=vero; clienti.pagato;"") ma anche questo non funziona
ho quindi provato a creare un report con il wizard ed a modificare la
casella di testo che lui inseriva ma senza risultato
N.B. la casella di testo contenente il campo da visualizzare e' nella
sezione CORPO del report
ho notato inoltre che, nel report creato dal wizard non c'e' alcun
riferimento alla tabella nel campo origine controllo, ovvero non e' scritto:
[clienti]![pagato]  ma soltanto il nome del campo:  pagato    e se io
completo il tutto come:  [clienti]![pagato]   da errore


title: record e query

text:
"Alessandro Cara" <
al...@blunet.it
> ha scritto nel messaggio
news:3D6F34B0...@blunet.it...




title: record e query

text:
>cut
> nell'origine controllo ho provato a mettere sia la query (nel qual caso
> spesso, all'esecuzione, mostrava una finestrella di inserimento dati e,
> dando ok, una serie di errori), sia una cosa del tipo:
>
> iif(clienti.pagato=vero; clienti.pagato;"") ma anche questo non funziona
>
> ho quindi provato a creare un report con il wizard ed a modificare la
> casella di testo che lui inseriva ma senza risultato
> N.B. la casella di testo contenente il campo da visualizzare e' nella
> sezione CORPO del report
> ho notato inoltre che, nel report creato dal wizard non c'e' alcun
> riferimento alla tabella nel campo origine controllo, ovvero non e'
scritto:
> [clienti]![pagato]  ma soltanto il nome del campo:  pagato    e se io
> completo il tutto come:  [clienti]![pagato]   da errore
Strano l'ho gia letto sto post.
Adesso provo anch'io.
Mi riesce tutto ( il che è grave, ma per te perchè se riesce a me...).
Non ho capito : il report ha per origine la query , ma tu vuoi che il campo
pagato abbia come origine il campo della tabella? perchè? io l'ho fatto e mi
chiede di immettere il nome del cliente ( ma non so perchè sto solo
provando ), io schiaccio cmq OK e mi da i giusti risultati, per cui non
cambia nulla per carità ( e fino  a lì ....); a lasciarlo così com'è non  mi
chiede nulla e fila liscio : cmq non mi da errore in nessun caso.
Sarà mica la query?
Guardiamola di nuovo:
SELECT Clienti.* FROM clienti WHERE (clienti.pagato=vero)
che non ti funzia ( perchè prima l'hai provata vero: a me continua a
insospettire quel 'vero' a posto di un più corretto 'true' in codice SQL, ma
quando mi fisso son terribile)
boh, mi arrendo , anche perchè devo preparare le valigie e Borelli mi ha
dato i compiti per le vacanze.  :-)
Ciao. Fabrizio.


title: record e query

text:
kwz wrote:
>
>
> nell'origine controllo ho provato a mettere sia la query (nel qual caso
> spesso, all'esecuzione, mostrava una finestrella di inserimento dati e,
> dando ok, una serie di errori), sia una cosa del tipo:
>
> iif(clienti.pagato=vero; clienti.pagato;"") ma anche questo non funziona
>
> ho quindi provato a creare un report con il wizard ed a modificare la
> casella di testo che lui inseriva ma senza risultato
> N.B. la casella di testo contenente il campo da visualizzare e' nella
> sezione CORPO del report
> ho notato inoltre che, nel report creato dal wizard non c'e' alcun
> riferimento alla tabella nel campo origine controllo, ovvero non e' scritto:
> [clienti]![pagato]  ma soltanto il nome del campo:  pagato    e se io
> completo il tutto come:  [clienti]![pagato]   da errore
Va bene. Fai una cosa prendi il report in struttura inserisci
su origine record la query che ti interessa lascia il resto
cosi' com'era e prova.
Mi sembra strano che su "origine record" del report e ripeto del report
non del controllo non ci sia scritto nulla. Nel senso che e' possibile
ma poi da codice bisogna metterci qualcosa altrimenti il report e'
vuoto.
--
a.cara


title: Ordinamento numeri + testo

author: PaoloD

text:
Cioa a tutti!
Ho la necessità di ordinare stringhe contenenti numeri e testo: ho
letto il post del 21/052003 sull'argomento iniziato con anna_miravalle
e con la partecipazione di Carlo e Roberto. Penso di aver capito
qualcosa, ma cercando di ricostruire la query, penso di essermi arenato
tra spazi e virgole (in effetti è piuttosto pasticciato, uscendo da
rimaneggiamenti vari di Outlook). Io l'ho reso definitivo così:
SELECT Tabella 1.*
FROM Tabella1
ORDER BY
Space(5-Len(Right(Str(Val([NumeroLettera]));Len(Str(Val([NumeroLettera])))-1)))&Right(Str(Val([NumeroLettera]));Len(Str(Val([NumeroLettera])))-1),
Space(5-Len(Right([NumeroLettera],Len([NumeroLettera])-Len(Right(Str(Val([NumeroLettera])),Len(Str(Val([NumeroLettera])))-1)))))&Right([NumeroLettera],Len([NumeroLettera])-Len(Right(Str(Val([NumeroLettera])),Len(Str(Val([NumeroLettera])))-1)));
ma a morire se viene accettato dalla query in visualizzazione
struttura!
C'è qualcuno che può dirmi dov'è la tavanata?
Cioa e grazie!


title: Ordinamento numeri + testo

text:
Mi rispondo da solo, sono riuscito a farla funzionare, grazie lo
stesso, senza l'NG saremmo spesso a brancolare nel buio!


title: deselezionare un elemento da listbox

text:
avendo una list box variamente popolata e con una riga selezionata..
c'e' un metodo o qualcosa che posso richiamare da vba
che mi faccia deselezionare quella riga?
ho visto tra le proprieta' del mio controllo ma non vedo nulla
che si avvicini ad un UnSelect o cose simili...
grazie per l'aiuto..
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news
 segnala gli abusi ad
ab...@newsland.it


title: deselezionare un elemento da listbox

author: Nicola Di Martino

text:
"roberto123" <
rober...@libero.it
> ha scritto nel messaggio
news:efvvqb$62s$1...@news.newsland.it...
> avendo una list box variamente popolata e con una riga selezionata..
> c'e' un metodo o qualcosa che posso richiamare da vba
> che mi faccia deselezionare quella riga?
>
> ho visto tra le proprieta' del mio controllo ma non vedo nulla
> che si avvicini ad un UnSelect o cose simili...
>
> grazie per l'aiuto..
E' sufficiente che assegni al listbox un valore vuoto es:
lstprodotti=""
questo deseleziona la riga nel listbox
Ciao
Nik


title: deselezionare un elemento da listbox

text:
Nicola Di Martino ha scritto:



che figata...
ed io gia' che pensavo a robe fantascientifiche.. ;)
grazie!



title: deselezionare un elemento da listbox

text:
roberto123 wrote:
> Nicola Di Martino ha scritto:
>
>
>>"roberto123" <
rober...@libero.it
> ha scritto nel messaggio
>>news:efvvqb$62s$1...@news.newsland.it...
>>
>>>avendo una list box variamente popolata e con una riga selezionata..
>>>c'e' un metodo o qualcosa che posso richiamare da vba
>>>che mi faccia deselezionare quella riga?
>>>
>>>ho visto tra le proprieta' del mio controllo ma non vedo nulla
>>>che si avvicini ad un UnSelect o cose simili...
>>>
>>>grazie per l'aiuto..
>
>
>>E' sufficiente che assegni al listbox un valore vuoto es:
>>lstprodotti=""
>
>
>>questo deseleziona la riga nel listbox
>
>
> che figata...
> ed io gia' che pensavo a robe fantascientifiche.. ;)
>
>
> grazie!
>
cmq la *proprieta'*  e' "selected"
dall'help:
È possibile utilizzare la proprietà Selected per selezionare gli
elementi in una casella di riepilogo utilizzando Visual Basic.
L'espressione riportata di seguito, ad esempio, seleziona il quinto
elemento dell'elenco.
Me!Listbox.Selected(4) = True
--
ac


title: Query con in parametro proveniente da maschera

text:
Sto creando una query semplicissima con l'istruzione in.
in questo modo funziona:
SELECT appalti.centrodicosto, appalti.dal,
appalti.al
, appalti.IMPORTO,
appalti.categoria
FROM appalti
WHERE (((appalti.categoria) In ("cse","cre")));
ma se cerco di parametrizzarla in funzione di un controllo contenuto in una
maschera non funziona:
(nella controllo scelta_categoria1 c'č esattamente la stringa di cui sopra :
"cse";"cre" ma senza le parentesi)
SELECT appalti.centrodicosto, appalti.dal,
appalti.al
, appalti.IMPORTO,
appalti.categoria
FROM appalti
WHERE (((appalti.categoria) In
([Forms]![frm_stampa_appalti]![scelta_categoria1])));
ho provato a mettere anche le parentesi ma non funzia.


author: Gabriele Bertolucci

text:
> (nella controllo scelta_categoria1 c'č esattamente la stringa di cui sopra
> : "cse";"cre" ma senza le parentesi)
>
> SELECT appalti.centrodicosto, appalti.dal,
appalti.al
, appalti.IMPORTO,
> appalti.categoria
> FROM appalti
> WHERE (((appalti.categoria) In
> ([Forms]![frm_stampa_appalti]![scelta_categoria1])));
>
> ho provato a mettere anche le parentesi ma non funzia.
Ma il controllo scelta_categoria1 cos'č? Una combo?
Tra le seguenti scelte, cosa visualizza esattamente il controllo
scelta_categoria1?
1) "cse", "cre"
2) "cse"; "cre"
3) cse, cre
4) cse; cre
5) "cse, cre"
6) "cse; cre"
7) - altro -
--
PBsoft di Gabriele Bertolucci
www.pbsoft.it


text:
"Gabriele Bertolucci" <info@#REMOVE#
pbsoft.it
> ha scritto nel messaggio
news:43feed72$0$5984$4faf...@reader2.news.tin.it...

ehehe ... č una semplice casella di testo che popolo al click di una combo
da cui effettuo la selezione delle categorie.
non funzia la 1), la 2) ... le altre ora le provo.


text:
>> Tra le seguenti scelte, cosa visualizza esattamente il controllo
>> scelta_categoria1?
>>
>> 1) "cse", "cre"
>> 2) "cse"; "cre"
>> 3) cse, cre
>> 4) cse; cre
>> 5) "cse, cre"
>> 6) "cse; cre"
>> 7) - altro -
>
> ehehe ... è una semplice casella di testo che popolo al click di una combo
> da cui effettuo la selezione delle categorie.
> non funzia la 1), la 2) ... le altre ora le provo.
Frena.
Non volevo suggerirti di provare le 6 alternative che ti ho riportato.
Stavo chiedendoti cosa c'è nel controllo scelta_categoria1.
Ora che mi rispondi, però, non mi è chiara una cosa: tu fai la selezione di
una categoria mediante una casella di testo nella quale si deve digitare
manualmente la specifica della categoria?



text:
"Gabriele Bertolucci" <info@#REMOVE#
pbsoft.it
> ha scritto nel messaggio
news:43fef032$0$5990$4faf...@reader2.news.tin.it...

Allora, nella form ho messo una listbox (prima ho detto combo e ho
sbagliato)
al click della combo, porto il valore nella casella scelta_categoria1 dove
si compone la stringa delle diverse categorie che possono essere
selezionate.
alla fine apro la query tramite docmd.openquery (e mi sa che è qui
l'inghippo perchè forse non sente il parametro)
la query ha come sintassi quello che ho scritto in precedenza.
Risultato: nella textbox scelta_categoria1 c'è del testo (i campi sono tutti
testo) . finora ho provato tutto parentesi, esterne, doppi apici per parola,
doppi apici per stringa intera, virgola, punto e virgola ... ma nulla!


text:
[ut]
>> Frena.
>>
>> Non volevo suggerirti di provare le 6 alternative che ti ho riportato.
>> Stavo chiedendoti cosa c'è nel controllo scelta_categoria1.
>>
>> Ora che mi rispondi, però, non mi è chiara una cosa: tu fai la selezione
>> di una categoria mediante una casella di testo nella quale si deve
>> digitare manualmente la specifica della categoria?
>>
>
>
> Allora, nella form ho messo una listbox (prima ho detto combo e ho
> sbagliato)
> al click della combo, porto il valore nella casella scelta_categoria1 dove
> si compone la stringa delle diverse categorie che possono essere
> selezionate.
> alla fine apro la query tramite docmd.openquery (e mi sa che è qui
> l'inghippo perchè forse non sente il parametro)
> la query ha come sintassi quello che ho scritto in precedenza.
> Risultato: nella textbox scelta_categoria1 c'è del testo (i campi sono
> tutti testo) . finora ho provato tutto parentesi, esterne, doppi apici per
> parola, doppi apici per stringa intera, virgola, punto e virgola ... ma
> nulla!
>
>
risolto in questo modo ...  mettendo mano ad un esempio di alex. Era un
problema di apici e di query.
Ricreandola riesce a valutare bene la stringa che gli passo, perchè
probabilmente forzo la conversione in testo.
   Dim vItm As Variant
   Dim stWhat As String
   Dim stCriteria As String
   Dim stSQL As String
   Dim sql As String
   'query originale ma con doppi apici
   sql = "SELECT appalti.* From appalti WHERE (((appalti.categoria) In
('CSE','cre'))) OR (((appalti.categoria1) In ('CSE','cre'))) OR
(((appalti.categoria2) In ('CSE','cre')));"
   Dim loqd As DAO.QueryDef
      'Me.scelta_categoria1 = CStr(Left$(stWhat, Len(stWhat) -
Len(stCriteria)))
        stSQL = " SELECT appalti.* FROM appalti" & " WHERE categoria IN (" &
CStr(Me.scelta_categoria1) & ")"
   stSQL = stSQL & " or appalti.categoria1 IN (" &
CStr(Me.scelta_categoria1) & ")"
   stSQL = stSQL & " or appalti.categoria2 IN (" &
CStr(Me.scelta_categoria1) & ");"
   Set loqd = currentdb.QueryDefs("anita_appalti")
   loqd.sql = stSQL
   loqd.Close
DoEvents
DoCmd.Minimize
DoCmd.OpenQuery "anita_appalti", acViewNormal, acReadOnly


title: calcoli con cifre decimali

author: Sandrobi

text:
Se volete ridere un pò provate queste righe di codice
    Dim x As Double
    x = Int(Abs(12.35) * 100) / 100
    MsgBox x
Non so a voi, ma a me porta sempre un centesimo in meno, qulasiasi cifra ci
metto!
Mi devo fidare così poco di Access?
Nemmeno l'uso di SUM nelle SQL mi fà stare molto tranquillo!
Bohh! anzi Boooooohhhhhhhhh!


title: calcoli con cifre decimali

author: Roberto da casa

text:
"Sandrobi" <
sand...@libero.it
> ha scritto nel messaggio
news:8HiQ9.67119$Ou4.2...@twister2.libero.it...
> Se volete ridere un pò provate queste righe di codice
>
>     Dim x As Double
>     x = Int(Abs(12.35) * 100) / 100
>     MsgBox x
>
> Non so a voi, ma a me porta sempre un centesimo in meno, qulasiasi cifra
ci
> metto!
Non sempre, ad esempio se scrivi 12.32 non ti restituisce un centesimo in
meno.
D'altra parte la rappresentazione interna al PC di un dato numerico non
viene effettuata in base 10, ma, come ben sai, in base2 e certi numeri per
essere compiutamente reppresentati hanno bisogno di più di 2 decimali:
insomma, anche ne visualizzi solo due, i decimali sono molti di più, specie
se, come hai fatto tu, hai usato una variabile in doppia precisione; solo
che è inutile usare una variabile in doppia precisione se poi con la
funzione Int e con la formula che hai usato vai a tagliare tutti i decimali
oltre al secondo, con le conseguenze che hai visto.
> Mi devo fidare così poco di Access?
Di Access ti puoi fidare: è di te che devi stare attento se per arrotondare
una cifra in doppia precisione alla seconda cifra decimale adotti quel
sistema.
Per arrotondare una variabile in doppia precisione alla seconda cifra
decimale usa la funzione che trovi sul Sito Comune (link qui sotto), nella
Sezione General nella FAQ di  Karl Donaubauer intitolata "Arrotondare un
numero alla cifra decimale specificata (uso commerciale)", o comunque usa il
metodo in essa indicato.
Comunque ti eviti molti problemi se, quando tratti quattrini, usi
campi/variabili di tipo Valuta invece che di tipo numerico in Doppia
precisione (naturalmente ti sconsiglio nel modo più assoluto di usare campi
numerici in precisione singola).
> Nemmeno l'uso di SUM nelle SQL mi fà stare molto tranquillo!
Della SUM puoi stare tranquillo; il problema sta tutto a come effettui
l'eventuale arrotondamento alla seconda cifra decimale del risultato dell
SUM: se lo fai come hai scritto sopra, il problema ce lo hai di sicuro.
> Bohh! anzi Boooooohhhhhhhhh!
Ti auguro un Buon Anno con tutti i decimali giusti perché arrotondati nella
maniera giusta! ;-)
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


title: calcoli con cifre decimali

text:
"Roberto da casa" <
r.ma...@libero.it
> ha scritto nel messaggio
news:7xjQ9.67297$Ou4.2...@twister2.libero.it...
>
> "Sandrobi" <
sand...@libero.it
> ha scritto nel messaggio
> news:8HiQ9.67119$Ou4.2...@twister2.libero.it...
> > Se volete ridere un pò provate queste righe di codice
> >
> >     Dim x As Double
> >     x = Int(Abs(12.35) * 100) / 100
> >     MsgBox x
> >
> > Non so a voi, ma a me porta sempre un centesimo in meno, qulasiasi cifra
> ci
> > metto!
>
> Non sempre, ad esempio se scrivi 12.32 non ti restituisce un centesimo in
> meno.
> D'altra parte la rappresentazione interna al PC di un dato numerico non
> viene effettuata in base 10, ma, come ben sai, in base2 e certi numeri per
> essere compiutamente reppresentati hanno bisogno di più di 2 decimali:
> insomma, anche ne visualizzi solo due, i decimali sono molti di più,
specie
> se, come hai fatto tu, hai usato una variabile in doppia precisione; solo
> che è inutile usare una variabile in doppia precisione se poi con la
> funzione Int e con la formula che hai usato vai a tagliare tutti i
decimali
> oltre al secondo, con le conseguenze che hai visto.
>
> --
> Roberto
Ti ringrazio e seguirò le tue indicazioni, però insisto sul fatto che nel
mio esempio non tratto variabili e il numero è impostato tale e quale,
quindi la mia espressione è una identità ed è solo la funzione Int che
lavora male! Oppure vuoi dirmi che 12.35 lui lo tiene in memoria come
12.3499 o simile?
Buon 2003 anche a te. Grazie.


title: calcoli con cifre decimali

author: Ettore Manara

text:
"Sandrobi" <
> Se volete ridere un pò provate queste righe di codice
>     Dim x As Double
>     x = Int(Abs(12.35) * 100) / 100
Prova così:    x =CDec(Int(Abs(12.35) * 100) / 100)
E' un metodo consigliato da MS per aggirare il problema (fisiologico come ti
ha spiegato Roberto) degli scarti d'arrotondamento in calcoli floatings
point.
Ciao.


title: calcoli con cifre decimali

author: Karl Donaubauer

text:
Ettore Manara ha scritto:

Hai mai provato il tuo consiglio?
IMO qui CDec solo ha l'effetto desiderato se la usi per la base
non per il risultato. p.e. Int(Abs(CDec(12.35) * 100)) / 100
--
HTH
Karl
*********
Access-FAQ (tedesco):
http://www.donkarl.com


title: calcoli con cifre decimali

author: Giorgio prx

text:
"Sandrobi" <
sand...@libero.it
> ha scritto nel messaggio
news:8HiQ9.67119$Ou4.2...@twister2.libero.it...

Ciao Sandrobi, il tipo di dato double non è preciso per i calcoli monetari,
puoi utilizzare il tipo variant con il sottotipo decimal es ..
Dim x As Variant
x = CDec(12.35)  '-- Imposto il sottotipo decimale
MsgBox VarType(x)  '--- qui puoi verificare che il sottotipo è vbDecimal
x = Int(Abs(x) * 100) / 100 '-- a questo punto viene forzato il piano di
calcolo sul tipo di dato decimal.
MsgBox x
Ciao Giorgio.


title: calcoli con cifre decimali

text:
"Sandrobi" <
sand...@libero.it
> ha scritto nel messaggio
news:xRkQ9.67513$Ou4.2...@twister2.libero.it...

E' proprio quello che volevo dire!
>
> Buon 2003 anche a te. Grazie.
--



title: calcoli con cifre decimali

text:
"Karl Donaubauer" <
> Hai mai provato il tuo consiglio?
L'ho postato nel pomeriggio dell'ultimo giorno dell'anno, chiaro che non
l'ho *MAI* provato  ;-))
> IMO qui CDec solo ha l'effetto desiderato se la usi per la base
> non per il risultato. p.e. Int(Abs(CDec(12.35) * 100)) / 100
Già.
Ciao.


title: Access 2010 - Importare contati da outlook 2010

text:
Sistema operativo Windows 8. E' possibile importare in Access 2010 i contatti di Outlook 2010 senza
tralasciare alcun campo?
Esiste un sistema diretto (wizard o simili), oppure é possibile tramite vba o come?
Grazie a quanti risponderanno.
Ciao


author: Bruno Campanini

text:
Gianni wrote :

Access 2013/64, dovrebbe funzionare anche con Access 2010
==========================================================
Private Sub Command1_Click()
Dim Kontact As Outlook.Folder, i As ContactItem
Dim appOutlook As Outlook.Application
Dim RS As Recordset

Set RS = CurrentDb.OpenRecordset("OutlookContacts")
Set appOutlook = CreateObject("Outlook.Application")
Set Kontact = Session.GetDefaultFolder(olFolderContacts)

For Each i In Kontact.Items
    RS.AddNew
    RS![FullName] = i.FullName
    RS![JobTitle] = i.JobTitle
    RS![FileAs] = i.FileAs
    RS![HomeAddressStreet] = i.HomeAddressStreet
    RS![HomeAddressCity] = i.HomeAddressCity
    RS![Email1Address] = i.Email1Address
    RS![HomeTelephoneNumber] = i.HomeTelephoneNumber
    RS![BusinessTelephoneNumber] = i.BusinessTelephoneNumber
    RS![MobileTelephoneNumber] = i.MobileTelephoneNumber
    RS.Update
Next

End Sub
===============================================

Bruno


text:

Grazie per la risposta. Conoscendoti, attraverso il NG, penso che non avrò problemi ad applicare il
tuo codice alla mia applicazione; in giornata effettuerò delle prove ed a presto te ne darò
riscontro.
Ancora grazie... Gianni


text:
Gianni used his keyboard to write :

> Grazie per la risposta. Conoscendoti, attraverso il NG, penso che non avrò
> problemi ad applicare il tuo codice alla mia applicazione; in giornata
> effettuerò delle prove ed a presto te ne darò riscontro.
> Ancora grazie... Gianni

Non ho precisato (la gatta frettolosa...) che la tabella
"OutlookContacts" deve esistere coi 9 campi indicati
nel For Each... Next della procedura, tutti Short Text (255).
E neppure che detta tabella venga svuotata ad ogni esecuzione.

Bruno


text:

L'ho provata così com'é e funziona benissimo. E' anche superveloce. Grazie.
Quello che vorrei capire, però, é questo:
tu hai impostato dei campi che - se ho capito bene - DEVONO essere quelli e solo quelli? Se é così,
come faccio ad importare gli altri campi che mi interessano (alcuni di quelli nella routine non mi
servono, ma altri non presenti mi sono necessari)?
Dove posso attingere informazioni sull'utilizzo proprio di queste specifiche?
Chiedo troppo? Sono disposto a studiare...
Gianni


text:
Gianni brought next idea :

Puoi liberamente modificare, aggiungere, eliminare elementi dal
loop For Each... Next. a condizione che corrispondentemente
vengano eseguite le stesse identiche variazioni sui record
di OutlookContacts.

Qui trovi i Contact Members:
http://msdn.microsoft.com/en-us/library/microsoft.windowsmobile.pocketoutlook.contact_members.aspx

Bruno


text:
Il Mon, 03 Nov 2014 00:59:22 +0100, Bruno Campanini <
brun...@libero.it
> ha scritto:

>Gianni brought next idea :
...CUT
>> proprio di queste specifiche? Chiedo troppo? Sono disposto a studiare...
>> Gianni
>Puoi liberamente modificare, aggiungere, eliminare elementi dal
>loop For Each... Next. a condizione che corrispondentemente
>vengano eseguite le stesse identiche variazioni sui record
>di OutlookContacts.
>
>Qui trovi i Contact Members:
>
http://msdn.microsoft.com/en-us/library/microsoft.windowsmobile.pocketoutlook.contact_members.aspx

>
>Bruno

Eccoli! E' quello che desideravo. Adesso potrň finalmente sbizzarrirmi e prelevare i dati che mi
servono da Outlook.
Il tuo aiuto é stato veramente prezioso e soprattutto risolutivo.
Grazie ancora una volta e... buon fine anno.
Gianni


author: Ammammata

text:
Il giorno Mon 03 Nov 2014 12:59:22a, *Bruno Campanini* inviava su
it.comp.appl.access il messaggio news:m36ggq$eir$
1...@speranza.aioe.org
.
Vediamo cosa scrisse:

>
> Qui trovi i Contact Members:
>
http://msdn.microsoft.com/en-us/library/microsoft.windowsmobile.pocketo

> utlook.contact_members.aspx
>
>

interessante, grazie

--
/-\ /\/\ /\/\ /-\ /\/\ /\/\ /-\ T /-\
-=- -=- -=- -=- -=- -=- -=- -=- - -=-
>>>>>
http://www.bb2002.it
 :)  <<<<<
........... [ al lavoro ] ...........


author: Gianni

text:
Il Mon, 03 Nov 2014 00:59:22 +0100, Bruno Campanini <
brun...@libero.it
> ha scritto:

>Gianni brought next idea :
>> Il Sun, 02 Nov 2014 14:44:28 +0100, Bruno Campanini <
brun...@libero.it
> ha
>> scritto:
>>
...CUT
>Puoi liberamente modificare, aggiungere, eliminare elementi dal
>loop For Each... Next. a condizione che corrispondentemente
>vengano eseguite le stesse identiche variazioni sui record
>di OutlookContacts.
>
>Qui trovi i Contact Members:
>
http://msdn.microsoft.com/en-us/library/microsoft.windowsmobile.pocketoutlook.contact_members.aspx

>
>Bruno
Allora Bruno, sono a terra. Applicando gli items da te suggeriti (sono 9 per l'esattezza), riesco ad
ottenere da Outlook i corrispondenti valori che possono essere pieni o vuoti a seconda di quello che
ho inserito nei rispettivi campi quando ho creato il contatto.
Il problema é che ho provato ad aggiungere le altre voci (TUTTE) dei contact.items e, tranne che per
i campi da te indicati, ottengo un errore.
Non ho molta confidenza con l'inglese che non ho proprio studiato a scuola (ai miei tempi era di
moda il francese) e ho difficoltà ad interpretare quanto riportato nella pagina web che mi hai
indicato.
Cerco di esporre meglio il mio problema:
- Ho 10 contatti per i quali ho compilato solo i campi A, B e C, sebbene il form mi dia la
possibilità di compilare anche altri campi come D, E, F...ecc.
- Una volta riempiti i miei records in Outlook, in fase di visualizzazione ho impostato solo i campi
che mi interessano, cioé A, B e C.
- Quando voglio importare i dati in una tabella Access, utilizzando la tua routine, seleziono i
campi A, B e C e tutto va bene. Se però per assurdo ci metto tutti i campi previsti nella
contact.members, invece di passarmi solo i dati di A, B e C, ricevo un msg di errore.
Come potrei fare per importare TUTTI i campi del form di Outlook? Esiste una soluzione?
Grazie


text:
Gianni was thinking very hard :

TUTTI, sviluppando le combo della scheda Outlook, significa
ben più di 100... il che mi sembra assurdo.
Fa' l'elenco dei campi che vorresti trasferire, immagino sarà in
italiano.
Vedrò di reperire i corrispondenti termini in inglese che
servono nella programmazione.

Bruno


text:
Il Tue, 04 Nov 2014 01:52:07 +0100, Bruno Campanini <
brun...@libero.it
> ha scritto:

>Gianni was thinking very hard :
>> Il Mon, 03 Nov 2014 00:59:22 +0100, Bruno Campanini <
brun...@libero.it
> ha
>> scritto:
...CUT
>> metto tutti i campi previsti nella contact.members, invece di passarmi solo i
>> dati di A, B e C, ricevo un msg di errore. Come potrei fare per importare
>> TUTTI i campi del form di Outlook? Esiste una soluzione? Grazie
>
>TUTTI, sviluppando le combo della scheda Outlook, significa
>ben più di 100... il che mi sembra assurdo.
>Fa' l'elenco dei campi che vorresti trasferire, immagino sarà in
>italiano.
>Vedrò di reperire i corrispondenti termini in inglese che
>servono nella programmazione.
>
>Bruno

Hai ragione, sono tanti, ma per il trasferimento dei dati sull'agenda di mia moglie, sarebbe proprio
così. Però mi rendo conto che la cosa possa essere "pesante" ed allora ecco l'elenco dei campi che
almeno mi occorrerebbero (contiene già le voci indicate in routine):

Cognome
Nome
Cellulare
Telefono (ab.)
Telefono (Uff.)
Altro telefono
Fax (uff.)
Posta elettronica
Altro fax
Altro indirizzo
Archivia come
Fax (ab.)
Home page personale
Indirizzo
Indirizzo (ab.)
Indirizzo (Uff.)
Note
Paese
Pagina Web
Posizione
Provincia
Società
Telefono (ab.) 2
Telefono (Uff.) 2
Telefono principale

Non so se sarà possibile e ti chiedo scusa per l'insistenza, ma con questi risolverei comunque la
questione.
Grazie