author: ALESSANDRO Baraldi

text:
"RobertoA" <
amor...@tiscalinet.it
> ha scritto nel messaggio
news:46423bd5$1...@newsgate.x-privat.org...
> Che sistemi usate per la protezione delle procedure realizzate con Access
?
> Da quel che ho visto realizzare un mde non e' cosi' robusto quanto
dovrebbe
> essere
Puoi spiegare meglio questa affermazione... sono 10 anni che ho questa
certezza e vorrei capire a cosa ti riferisci.
> Ci sono delle protezioni hardware per Access ?
A mio avviso non servono, ma è mia opinione.
> Oppure, che altri sistemi usate ?
> Ciao e grazie
> RobertoA
Alla Cisa 2007 organizzata da Massimiliano in Sede Microsoft a Milano questo
sarà uno dei temi
affrontati, il relatore sarà Marco Pizzamiglio.
Ti suggerisco di aderire all'iniziativa, il livello tecnico di tutti i
relatori è estremamente elevato ed affrontano le tematiche più
frequentemente sviluppate nel NG.
In particolare per quanto riguarda questa tua richiesta sicuramente
riceverai una panoramica di come affrontare al meglio il problema in vari
modi.
Saluti
--
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.alessandrobaraldi.it
---------------------------------------------------------------------------


title: Comne proteggere programmi realizzati con Access ???

author: RobertoA

text:
>> Che sistemi usate per la protezione delle procedure realizzate con Access
> ?
>> Da quel che ho visto realizzare un mde non e' cosi' robusto quanto
> dovrebbe
>> essere
>
> Puoi spiegare meglio questa affermazione... sono 10 anni che ho questa
> certezza e vorrei capire a cosa ti riferisci.
Mi riferisco a questo
http://www.everythingaccess.com/
Sul sito di Karl c'e' scritto che lui personalmente ha sperimentato che 'sti
qua ce la fanno a risalire all'mdb partendo dall'mde
Se ce la fanno, vuol dire che si puo' fare
Se si puo' fare, allora forse anche altri lo fanno
Ciao
RobertoA


author: MA

text:
"RobertoA" <
amor...@tiscalinet.it
> ha scritto nel messaggio
news:4642...@newsgate.x-privat.org...

NOn č cosě automatico, e cmq dalle prove fatte Alex (non il nostrao @Alex)
ha bisogno di alcuni accorgimenti. Se no glieli fornisci ... niet


author: jjm

text:
"RobertoA" <
amor...@tiscalinet.it
> wrote in message
news:4642...@newsgate.x-privat.org...

Con i prodotti indicati non sproteggi nulla, con MDE Unlocker puoi operare
solo sui controlli non sul codice, infatti se devi aggiungere qualcosa a
livello di codice poi devi usare le macro, del resto lo dicono anche loro:
"The Access MDE Unlocker allows you to make changes to Access MDE
form/reports. You can make design changes to forms/reports and can add new
functionality by creating Macros."
e nella scheda di dettaglio:
"Note: You cannot alter or gain access to the original VBA code - you must
use Macros instead."
Con MDE Source Code Protector fai quello che fino alla versione 2000 potevi
ottenere decompilando l'mdb con l'opzione -D (ufficialmente sconsigliata),
e, con tutte le versioni, reimportando tutto in un nuovo db prima di creare
l'mde, poi se vuoi aggiungere un minimo di protezione verso eventuale quanto
improbabile reverse engineering puoi sempre offuscare il codice vba o creare
una dll o entrambe le cose.
jjm


text:
"jjm" <j...@jjm.jjm> wrote in message
news:4642c5b6$0$17944$4faf...@reader1.news.tin.it...

ops ... ovviamente intendevo opzione /decompile
http://www.trigeminal.com/usenet/usenet004.asp
jjm


author: Alessandro Baraldi

text:
On 10 Mag, 07:53, "RobertoA" <
amoro...@tiscalinet.it
> wrote:
> >> Che sistemi usate per la protezione delle procedure realizzate con Access
> > ?
> >> Da quel che ho visto realizzare un mde non e' cosi' robusto quanto
> > dovrebbe
> >> essere
>
> > Puoi spiegare meglio questa affermazione... sono 10 anni che ho questa
> > certezza e vorrei capire a cosa ti riferisci.
>
> Mi riferisco a questohttp://
www.everythingaccess.com/
> Sul sito di Karl c'e' scritto che lui personalmente ha sperimentato che 'sti
> qua ce la fanno a risalire all'mdb partendo dall'mde
> Se ce la fanno, vuol dire che si puo' fare
> Se si puo' fare, allora forse anche altri lo fanno
> Ciao
> RobertoA
Scuda Roberto ma non per farmi i tuoi... il ReverseEngine di un MDE
non è cosa del primo pirla che passa...!
Quella è una società che ha messo a punto questa tecnologia per
realizzarlo, ma a pagamento, e personalmente non sò se ci sono persone
che hanno interesse ad investire soldi per Decompilare nostre
applicazioni...(senza volere sottovalutare nessuno), di certo per le
mie non conviene...
@Alex


author: Massimo Piubelli

text:
Alessandro Baraldi wrote:
> Scuda Roberto ma non per farmi i tuoi... il ReverseEngine di un MDE
> non è cosa del primo pirla che passa...!
> Quella è una società che ha messo a punto questa tecnologia per
> realizzarlo, ma a pagamento, e personalmente non sò se ci sono persone
> che hanno interesse ad investire soldi per Decompilare nostre
> applicazioni...(senza volere sottovalutare nessuno),
Concordo pienamente con Alex, e aggiungo, che se una persona è in grado di fare il reverse engeneering di un mde decompilandolo e ricostruendo il codice originale... sicuramente è uno sviluppatore molto più bravo di me.
Ne deriva che probabilmente, vedendo il mio programma e la struttura delle tabelle, riuscirebbe a farlo molto meglio e, molto probabilmente, facendolo in minor tempo che non decompilandosi il tutto.
Quindi non mi pongo a monte il problema.
> di certo per le mie non conviene...
Di secondo, su applicazioni di un certo livello, io non do neanche gli MDE (se non all'utente finale che magari non deve incasinarmi il programma) ma l'azienda ha sempre una copia mdb del file.
Ciao,
Max


author: Alessandro Cara

text:
Massimo Piubelli wrote:
[cut]
> Concordo pienamente con Alex, e aggiungo, che se una persona è in grado di fare il reverse engeneering di un mde decompilandolo e ricostruendo il codice originale... sicuramente è uno sviluppatore molto più bravo di me.
> Ne deriva che probabilmente, vedendo il mio programma e la struttura delle tabelle, riuscirebbe a farlo molto meglio e, molto probabilmente, facendolo in minor tempo che non decompilandosi il tutto.
> Quindi non mi pongo a monte il problema.
o come ti comprendo o come ti comprendo ;<)
Non mi sono impicciato in questo 3D ma vedo che abbiamo delle "affinita'
elettive". Ogni volta che vedo questo tipo di domanda sorrido in modo
piu' o meno ebete.
--
ac
y-1=x


text:
[cut]
> o come ti comprendo o come ti comprendo ;<)
> Non mi sono impicciato in questo 3D ma vedo che abbiamo delle "affinita'
> elettive". Ogni volta che vedo questo tipo di domanda sorrido in modo
> piu' o meno ebete.
>
> --
> ac
> y-1=x
Mica tutti fanno programmetti da 2 soldi come te(io li faccio da Zero
quindi sono fuori gioco)... ci sono anche quelli che fanno delle cose
serie... e quelle devono essere protette contro gli "hacker", la
muffa, l'umidità... e l'artrite...
Dai storgi la bocca dici così perchè sei invidioso......
@Alex


text:
Alessandro Baraldi wrote:
> [cut]
>> o come ti comprendo o come ti comprendo ;<)
>> Non mi sono impicciato in questo 3D ma vedo che abbiamo delle "affinita'
>> elettive". Ogni volta che vedo questo tipo di domanda sorrido in modo
>> piu' o meno ebete.
[cut]
> Mica tutti fanno programmetti da 2 soldi come te
o come tieni ragione o come tieni ragione.
Se facessi programmetti un po' piu' decenti mica starei a perdere tempo
qui. In quanto ai "due soldi" con la storia dell'inflazione ormai faccio
solo "opera da tre soldi" (umpf, forse mi sto sopravvalutando, il povero
Berthold o Bertolt che dir si voglia si voltera' nella tomba)
--
ac
y-1=x


text:
On 14 Mag, 11:07, Alessandro Cara <
alessandro.c...@ay-1asistemi.it
>
wrote:

Anche lui ha avuto voglia di un Lifting, solo che allora quello al
nome, il lifting, era più facile... credo che Adolfo non lo stimasse
poi moltissimo... anzi credo poprio poco...
Pesantino come autore... almeno per me.
@Alex


text:

Ma no neanche tanto. Certo che se la "lettura" la fa strehler un po'
piu' corposo lo diventa
Beh se avesse scritto a me cio' che ha scritto all'imbianchino mi sarei
alterato un pochino
  Bertolt Brecht
"da" Breviario tedesco
Quando chi sta in alto parla di pace
La gente comune sa
Che ci sarà la guerra.
Quando chi sta in alto maledice la guerra
Le cartoline precetto sono già compilate.
Quelli che stanno in alto
Si sono riuniti in una stanza
Uomo che sei per la via
Lascia ogni speranza.
I governi
Firmano patti di non aggressione.
Piccolo uomo,
firma il tuo testamento.
Sul muro c’era scritto col gesso:
vogliono la guerra.
Chi l’ha scritto
è già caduto.
quella sopra l'ho copiata. Questa in basso la cito a memoria
E' notte le coppie vanno a letto.
Le giovani madri partoriranno orfani.
(sempre da Breviario tedesco)
--
ac
y-1=x


text:
[cut]
> E' notte le coppie vanno a letto.
> Le giovani madri partoriranno orfani.
>
> (sempre da Breviario tedesco)
>
> --
> ac
> y-1=x
Toccanti sicuramente, ne ho provate a leggere alcune, in realtà tentai
di andare a vedere a teatro un'opera di brecht, ed in quel frangente
mi ero dedicato proprio per non andare da "ignorante" ma mi resi conto
di esserlo troppo e per mia difficoltà o limitazione questo tipo di
cultura mi rimane veramente di difficile accesso..., alchè ho fatto la
figura del 70% di quelli che vanno a teatro...
@Alex


title: Auguroni a tutti del NG.....

author: SuperPippo®

text:
....... per la Vostra gentile e cortese disponibilità.
Buon Natale !!!
--
SuperPippo®  < [;o))


title: Auguroni a tutti del NG.....

author: Elio

text:
"SuperPippo®" <
ik0...@libero.it
> ha scritto nel messaggio
news:EdKV7.360098$sq5.17...@news.infostrada.it...

Mi associo e ricambio gli auguri a tutti i frequentanti !!!!!!!!!
Saluti a tutti,
Elio


title: Auguroni a tutti del NG.....

author: ing. Franco Varoli

text:
On Mon, 24 Dec 2001 18:11:48 GMT, "SuperPippo®" <
ik0...@libero.it
>
wrote:
>....... per la Vostra gentile e cortese disponibilità.
>
>Buon Natale !!!
Contraccambio con auguri di buone feste, ...altrettanto buone query ed
ottimi report.
--
ing. Franco Varoli
fva...@tin.it
fva...@libero.it


title: Auguroni a tutti del NG.....

author: Roberto da casa

text:
"SuperPippo®" <
ik0...@libero.it
> ha scritto nel messaggio
news:EdKV7.360098$sq5.17...@news.infostrada.it...
> ....... per la Vostra gentile e cortese disponibilità.
>
> Buon Natale !!!
>
Ricambio con gli auguri per un sereno 2002.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


title: creare pulsante che esegue query e apre maschera

author: babbotuttolanno

text:
Ciao
ho un pulsante che mi esegue una query ed uno che mi apre una maschera
basata su quella query.
come posso avere un unico pulsante che mi esegue la query e mi apre la
maschera?
sono andato sull evento "click" ed ho aperto il VB ho provato a fare copia
e incolla della parte relativa al pulsante della query prima della parte
relativa alla maschera ma ho ottenuto solo errori...
da che parte a che parte dovrei incollare? ammesso che sia il modo giusto
ovviamente.
grazie ciao
e buon natale!!!
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news
 segnala gli abusi ad
ab...@newsland.it


text:
dimenticavo.. uso acces 2003



author: Karl Donaubauer

text:
babbotuttolanno wrote:
> ho un pulsante che mi esegue una query ed uno che mi apre una maschera
> basata su quella query.
> come posso avere un unico pulsante che mi esegue la query e mi apre la
> maschera?
> sono andato sull evento "click" ed ho aperto il VB ho provato a fare
> copia e incolla della parte relativa al pulsante della query prima
> della parte relativa alla maschera ma ho ottenuto solo errori...
> da che parte a che parte dovrei incollare? ammesso che sia il modo
> giusto ovviamente.
Se incolli il tuo codice _qui_ non dobbiamo indovinare cosa fai...
Non è chiaro perché prima esegui una query. Cosa fa questa query?
Se solo è l'origine record della maschera non serve eseguirla ma solo
aprire la maschera con:
DoCmd.OpenForm "NomeDellaTuaMaschera"
--
Ciao
Karl
*********
Access FAQ:
www.donkarl.com/it


author: Carlo Costarella

text:
"babbotuttolanno" <babbotu...@sadfsdffsd.sdf> ha scritto nel messaggio
news:iev72o$ob3$1...@news.newsland.it...
> Ciao
> ho un pulsante che mi esegue una query ed uno che mi apre una maschera
> basata su quella query.
> come posso avere un unico pulsante che mi esegue la query e mi apre la
> maschera?
> sono andato sull evento "click" ed ho aperto il VB ho provato a fare copia
> e incolla della parte relativa al pulsante della query prima della parte
> relativa alla maschera ma ho ottenuto solo errori...
> da che parte a che parte dovrei incollare? ammesso che sia il modo giusto
> ovviamente.
>
> grazie ciao
>
> e buon natale!!!
>
Dici poco sul tipo di query, in particolare se chiede parametri se � una
query di accodamento o di aggiornamento. Inoltre bisogna sapere se la
maschera � alimentata proprio dalla query.
In linea di massima:
    DoCmd.SetWarnings False
    DoCmd.OpenQuery "NomeQuery"
    DoCmd.SetWarnings True
    DoEvents
    DoCmd.OpenForm "NomeMaschera"
Ciao, Carlo


text:
Karl Donaubauer ha scritto:
> Se incolli il tuo codice _qui_ non dobbiamo indovinare cosa fai...
> Non � chiaro perch� prima esegui una query. Cosa fa questa query?
> Se solo � l'origine record della maschera non serve eseguirla ma solo
> aprire la maschera con:
> DoCmd.OpenForm "NomeDellaTuaMaschera"
Dunque... provo a spiegare...
ho una maschera basata su una query
una sottomaschera che contiene un pulsante che apre una maschera piccolina
(che ha la sua tabellina) che dipende da una query � collegata a
quest'ultima.
io seleziono da una casella di riepilogo della sottomaschera l'ID della
tabellina e con il pulsante della sottomaschera vado ad aprire la maschera
piccolina.
il problema � che se aggiorno l'associazione sulla sottomaschera o uno dei
campi diversi dall'ID nella tabellina non mi aggiorna i valori sulla
sottomaschera.
capito niente vero?
posto il codice e quello che ho ottenuto con esso.
pulsante sulla sottomaschera:
Private Sub Comando39_Click()
On Error GoTo Err_Comando39_Click
Dim stDocName As String
    stDocName = "002 Q corsi dip S"
    DoCmd.OpenQuery stDocName, acNormal, acEdit

    Dim stLinkCriteria As String
    stDocName = "003 M corsi dip"

    stLinkCriteria = "[ID_movimenti_corsi]=" & Me![ID_movimenti_corsi]
    DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_Comando39_Click:
    Exit Sub
Err_Comando39_Click:
    MsgBox Err.Description
    Resume Exit_Comando39_Click

End Sub
Si apre la query e la maschera piccola (003 M corsi)
per� se aggiorno l'ID movimenti_corsi dalla tendina) continua ad aprirmi
la maschera per il record vecchio fino a quando non chiudo e riapro o
clicco su un'altro record della sottomaschera...



text:
babbotuttolanno wrote:
> ...
> ho una maschera basata su una query
> una sottomaschera che contiene un pulsante che apre una maschera
> piccolina (che ha la sua tabellina) che dipende da una query è
> collegata a quest'ultima.
> io seleziono da una casella di riepilogo della sottomaschera l'ID
> della tabellina e con il pulsante della sottomaschera vado ad aprire
> la maschera piccolina.
> il problema è che se aggiorno l'associazione sulla sottomaschera o
> uno dei campi diversi dall'ID nella tabellina non mi aggiorna i
> valori sulla sottomaschera.
> capito niente vero?
No, solo le parti cruciali non sono comprensibili. ;-)
Cioè la cosa con "aggiorno l'associazione" ecc.
Qui non è chiaro cosa fai.
> posto il codice e quello che ho ottenuto con esso.
> pulsante sulla sottomaschera:
> ...
>    Dim stLinkCriteria As String
>
>    stDocName = "003 M corsi dip"
>
>    stLinkCriteria = "[ID_movimenti_corsi]=" & Me![ID_movimenti_corsi]
>    DoCmd.OpenForm stDocName, , , stLinkCriteria
> ...
> Si apre la query
Come già scritto: non serve
> e la maschera piccola (003 M corsi)
> però se aggiorno l'ID movimenti_corsi dalla tendina)
Vuoi dire che vai ad un record diverso nella sottomaschera?
> continua ad
> aprirmi la maschera per il record vecchio fino a quando non chiudo e
> riapro o clicco su un'altro record della sottomaschera...
"chiudo e riapro" cosa?



title: Visualizzazione di una descrizione

author: Bobbygol

text:
Il mio problema č questo: ho una tabella Codice-Descrizione ed una tabella
Codice-Valore (hoi semplificato: le tabelle hanno piů campi, ma sono questi
quelli che mi interessano)
La mia intenzione č quella di fare una form di tipo tabulare, che mi
consenta di inserire i valori, agendo quinsi sulla seconda tabella. Perň
vorrei far vedere anche le descrizioni, per agevolare l'input.
Se faccio una query e poi creo la form sulla query non mi permette di
aggiornare il campo valore (recordset non aggiornabile).
Allora avevo pensato di usare il comando Dlookup, da voi a suo tempo
suggeritomi per altri problemi e che mi č stato utilissimo in diversi
frangenti. Perň in questo caso in tutte le righe della form mi appare la
decodifica del primo codice.
Mi potete dare qualche suggerimento?
Grazie mille.
*** mauro


title: Visualizzazione di una descrizione

text:
"Bobbygol" <
mauro.cinacch...@virgilio.it
> ha scritto nel
messaggio news:e9Jsd.462983$35.20...@news4.tin.it...
> Il mio problema è questo: ho una tabella Codice-Descrizione ed una tabella
> Codice-Valore (hoi semplificato: le tabelle hanno più campi, ma sono
> questi
> quelli che mi interessano)
> La mia intenzione è quella di fare una form di tipo tabulare, che mi
> consenta di inserire i valori, agendo quinsi sulla seconda tabella. Però
> vorrei far vedere anche le descrizioni, per agevolare l'input.
> Se faccio una query e poi creo la form sulla query non mi permette di
> aggiornare il campo valore (recordset non aggiornabile).
> Allora avevo pensato di usare il comando Dlookup, da voi a suo tempo
> suggeritomi per altri problemi e che mi è stato utilissimo in diversi
> frangenti. Però in questo caso in tutte le righe della form mi appare la
> decodifica del primo codice.
> Mi potete dare qualche suggerimento?
> Grazie mille.
>
> *** mauro
>
>
>
>
Nelle maschere in formato tabulare o tabellare un controllo non associato
ripete il suo valore per tutti i record. D'altra parte questo comportamento
è più che ammissibile visto che quel controllo non è associato ad alcun
campo della tabella di input.
Se le due tabelle hanno una relazione per esempio uno a molti, allora non ti
sarà difficile creare una query con le due tabelle (il join lo crea Access)
e, con questa, alimentare la maschera.
Non sei molto chiaro quando dici: "ho una tabella Codice-Descrizione ed una
tabella
Codice-Valore (hoi semplificato: le tabelle hanno più campi, ma sono questi
quelli che mi interessano)". Si tratta di campi in due tabelle diverse?
Ciao, Carlo


title: Visualizzazione di una descrizione

text:
Ti ringrazio per la risposta, innanzitutto, e poiu cerco di spiegarmi
meglio, se hai ancora un po' di tempo per me.
Il problema riguarda dei capitoli di bilancio, e le due tabelle sono le
seguenti:
La tabella capitoli, che contiene il numero del capitolo, la descrizione, ed
altri parametri come il centro di costo, il responsabile, ecc. che per la
maschera che voglio fare sono ininfluenti.
La seconda tabella contiene gli stanziamenti di  bilancio, e c'e' il numero
del capitolo, lo stanziamento, il totale dei pagamenti, ecc.
La mia intenzione è di fare una form per registrare gli stanziamenti di
bilancio, del tipo
    Codice       Descrizione                            Importo
----------------------------------------------------------------
  10       xxxxxxxxxxxxxxxxxxxxxxxxxxxx     ....................
  20       yyyyyyyyyyyyyyyyyyyyyyyyyyyy     ....................
subito avevo creato una query unendo le due tabelle con il numero di
capitolo, ma il risultato è un recordset non aggiornabile, per cui non mi
permetteva l'input degli importi. Questo credo perchè i campo numero di
capitolo è per entrambe le tabelle campo chiave unitamente ad altri; ma non
posso modificare la struttura delle tabelle.
Allora ho provato con il DLookup ma, come mi hai fatto notare tu, non è la
soluzione.
Però non riesco a pensare ad altro.
Grazie mille comunque
Ciao
***mauro
"Carlo Costarella" <
carloantoni...@virgilio.it
> ha scritto nel
messaggio news:BLTsd.464375$35.20...@news4.tin.it...



title: Visualizzazione di una descrizione

text:
"Bobbygol" <
mauro.cinacch...@virgilio.it
> ha scritto nel
messaggio news:Io0td.261273$b5.12...@news3.tin.it...

Ti ricordo di scrivere la risposta dopo il quoting e non all'inizio del
messaggio.
Se ti va mi piacerebbe dare un'occhiata al tuo db. Cercherò di trovare una
soluzione.
Mandalo zippato all'indirizzo di questa e-mail.
Ciao, Carlo


title: Visualizzazione di una descrizione

text:
Ciao Mauro
ti ho inviato per tre volte il db ma non so se ti è arrivato.
Due volte a:
mauro.cinacch...@virgilio.it
e una volta a:
mauro.c...@virgilio.it
Quale è il tuo indirizzo?
Ciao, Carlo


title: Aname

author: Albert Schweitzer

text:
Ho una maschera che contiene una combo box nella quale il nome e cognome
degli abitanti del mio database (oltre che dei miei incubi) č visualizzato
come un nome unico:
AName: [Anagrafica].[Cognome] & ", " & [Nome]
Quella maschera, semplicissima, mi serve per aprire una maschera,
esattamente al record del Nome e cognome (unitamente) selezionati. Il
problema č che non so come spiegare alla macro che deve aprire esattamente
quel record.
[Anagrafica]![Cognome]=[Forms]![XY]![XX]
dove XY č la umile maschera e xx la combo box. Ovviamente non funziona....
Aiuto.
Grazie!


title: Aname

text:
E' spiegato tutto nella guida: Azione ApriMaschera, sotto la dicitura
Filtro.
Chiedo scusa


title: Aname

text:
"Albert Schweitzer" <
mang...@tiscali.it
> ha scritto nel messaggio
news:b6a8g4$jf4$1...@lacerta.tiscalinet.it...
> Ho una maschera che contiene una combo box nella quale il nome e cognome
> degli abitanti del mio database (oltre che dei miei incubi) è visualizzato
> come un nome unico:
> AName: [Anagrafica].[Cognome] & ", " & [Nome]
>
> Quella maschera, semplicissima, mi serve per aprire una maschera,
> esattamente al record del Nome e cognome (unitamente) selezionati. Il
> problema è che non so come spiegare alla macro che deve aprire esattamente
> quel record.
>
> [Anagrafica]![Cognome]=[Forms]![XY]![XX]
>
> dove XY è la umile maschera e xx la combo box. Ovviamente non funziona....
suppongo che i dati che compaiono nelle combo derivino da una tabella...
magari con un campo ID
se tu nella query che compone la combo.. inserisci come primo campo l'ID del
record... impostando poi la larghezza delle colonne nella combo (2 colonne
con larghezza 0 e 4 ).. tu vedrai la casella con il nome UNITO ma il valore
associato alla combo sarà univoco... quello dell'ID
ciao


title: Rotellina mouse e campi form a tutta birra

author: nwrr

text:
Se in una form ho delle caselle di testo collegate a dei campi,
basta che il mouse si trova in un punto qualunque della form
e io provo ad agire sulla rotellina per visuallizzare la parte più
bassa della form stessa, praticamente iniziano a scorrere
tutti i record e non si fermano se non bloccando tutto con il reset.
com' è risolvibile il problema, facendo in modo che la rotellina poi
funzioni regolarmente:
cioè mi scorre solo la maschera, evitando quindi di disabilitarne
totalmente
la sua funzionalità nei confronti della maschera stessa.
con acc97


author: Mrok

text:
"nwrr" <
nwrrAN...@lycos.it
> ha scritto nel messaggio
news:3C335F48...@lycos.it...

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    '33 - PgUp; 34 - PgDown; 9 - Tab; 18=Alt
    Select Case KeyCode
        Case 33, 34, 9, 18
            KeyCode = 0
        Case Else
End Select
End Sub
Mrok ;-)>


text:
> Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
>     '33 - PgUp; 34 - PgDown; 9 - Tab; 18=Alt
>     Select Case KeyCode
>         Case 33, 34, 9, 18
>             KeyCode = 0
>         Case Else
> End Select
> End Sub
A me non sucede nulla però mi sono accorto che proprio non sente il key
code
infatti se metto al posto di KeyCode = 0, un beep o qualsiasi altra
istruzione non
la sente proprio, ho fatto la prova
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    '33 - PgUp; 34 - PgDown; 9 - Tab; 18=Alt
    Select Case KeyCode
        Case 33, 34, 9, 18
            beep ' o qualsiasi altra istruzione



title: Un banalissimo problema per i più

text:
Ciao A tutti.
Premetto che il mio livello di conoscenza, del prodotto, è molto basso.
Ho da proporre un banalissimo problema su Access 97.
Ho una tabella di anagrafica e vorrei creare una maschera contenente:
. una casella di riepilogo che mi faccia da filtro;
. un certo numero di caselle di testo che vengano valorizzate con i
restanti dati presenti sul record.
Es.
CAMPO1		CAMPO2		CAMPO3
Pippo		Simpatico	Cane
Paperino	Sciocco		Papero
Topolino	Astuto		Topo
La casella di riepilogo mi propone Pippo (default), Paperino, Topolino.
A causa del default:
Testo1	Simpatico
Testo2	Cane
Selezionando Paperino, vorrei che le caselle di testo diventassero:
Testo1	Sciocco
Testo2	Papero
Tutto ciò NON accade.
Mi rendo conto che la cosa apparirà banale, ma non conosco access e
quindi chiedo un AIUTO / suggerimento.
Grazie a tutti, Michele.
--
Posted via Mailgate.ORG Server -
http://www.Mailgate.ORG


title: Un banalissimo problema per i più

text:
Prova cosě: nella casella combinata usi l'autocomposizione e scegli
tutti e tre i campi, nel formato metti numero colonne a 3, larghezza a
4;0;0, cosě vedi solo il primo campo. Nella sezione evento, alla voce
dopo aggiornamento, scrivi: if not isnull(casellacombinata) then
testo1 = casellacombinata.column(1)    testo2 =
casellacombinata.column(2) endif Sostituisci alla parola
"casellacombinata" il suo nome effettivo. Buon lavoro


title: Un banalissimo problema per i più

author: PaoloP

text:
Ciao,
un suggerimento:
- quando rispondi, posta sotto le domande fatte.
- Quota
-
http://www.it-lang-vb.net/docs/Manifesto.txt
Paolo.
<
bld...@excite.it
> ha scritto nel messaggio
news:adfmub$i4e$1...@gossip.excite.it...



title: Un banalissimo problema per i più

author: Sergio MAZZA

text:
"PaoloP" <
paolo....@arosoft.it
> ha scritto nel messaggio
news:nKLK8.20339$b4.8...@news2.tin.it...
> Ciao,
> un suggerimento:
> - quando rispondi, posta sotto le domande fatte.
> - Quota
> -
http://www.it-lang-vb.net/docs/Manifesto.txt
>
> Paolo.
Ciao,
un altro suggerimento:
- quando posti, prima, leggi il manifesto di questo NG
(
http://www.sitocomune.com/netiquette.htm
)
Ciao.
--
Sergio MAZZA


title: Un banalissimo problema per i più

author: Alessandro

text:
"PaoloP" <
paolo....@arosoft.it
> wrote in message
news:nKLK8.20339$
b4.8...@news2.tin.it
> Ciao,
> un suggerimento:
> - quando rispondi, posta sotto le domande fatte.
> - Quota
> -
http://www.it-lang-vb.net/docs/Manifesto.txt
>
> Paolo.
Beh, PAOLO che dire, sei fortunato perchè non c'è BISIO in arte ANTONIO
ma sinceramente l'autocensura in questo caso......!!!!
SI POSTA DOPO IL QUOTING come indicato nelle norme di questo NG.
Alessandro.



title: Un banalissimo problema per i più

text:
"Alessandro" <
ik2...@libero.it
> ha scritto nel messaggio
news:a0962a6e8d745e8e1c...@mygate.mailgate.org...
> "PaoloP" <
paolo....@arosoft.it
> wrote in message
> news:nKLK8.20339$
b4.8...@news2.tin.it
>
> > Ciao,
> > un suggerimento:
> > - quando rispondi, posta sotto le domande fatte.
> > - Quota
> > -
http://www.it-lang-vb.net/docs/Manifesto.txt
> >
> > Paolo.
>
>
> Beh, PAOLO che dire, sei fortunato perchè non c'è BISIO in arte ANTONIO
> ma sinceramente l'autocensura in questo caso......!!!!
>
> SI POSTA DOPO IL QUOTING come indicato nelle norme di questo NG.
>
E' vero, lo so, ma visto che stavo postando ad una persona che NON sa cosa
voglia dire POSTARE, non volevo che magari non vedesse la mia risposta SOTTO
la sua!!
Ciao.
Paolo


title: Un banalissimo problema per i più

text:
Ti ringrazio per il suggerimento. E' stato risolutivo.
Ciao, Michele.
"bldrcr" <
bld...@excite.it
> wrote in message
news:adfmub$i4e$
1...@gossip.excite.it




title: Un banalissimo problema per i più

author: Paperino

text:
"PaoloP" ha scritto nel messaggio
> "Alessandro" ha scritto nel messaggio
> > SI POSTA DOPO IL QUOTING come indicato nelle norme di questo NG.
> E' vero, lo so, ma visto che stavo postando ad una persona che NON sa cosa
> voglia dire POSTARE, non volevo che magari non vedesse la mia risposta SOTTO
> la sua!!
LOL... hai ragione. A proposito, che sia per questo che
tanti niubbi non leggono le risposte alle loro domande ?
Non le trovano :-))))))
Bye, G.


title: DB con listino variabile

author: Samantha

text:
Buongiorno a tutti e buon anno!!!
Al mio secondo db, non so come gestire un listino dinamico, che segue i
prezzi di acquisto.
Mi spiego meglio con un esempio.
Compero materie prime come rame, acciaio, ferro. I costi variano di
giorno in giorno. Perciò, devo far si che i miei costi possano variare
in base al momento in cui acquisto la materia prima.
Ogni mio prodotto(=articolo) è composto da più materie prime, e
attraverso la distinta base io so che quel prodotto, fatto per quel
cliente, è composto da x materie prime, che oggi costa tot. , ieri
aveva un altro prezzo e domani un altro ancora...
Io ero abituata, ad associare ad ogni prodotto o materia prima il suo
costo, ma in questo caso deve essere dinamica la cosa. Il costo di
acquisto può subire variazioni giornaliere, perciò ogni volta che io
produco il mio prodotto, devo avere sottomano i prezzi giornalieri.
Le mie tabelle sono queste:
TBL_MP (Materie prime)
mp_id -> campo contatore chiave primaria
mp_desc -> descrizione
mp_costo -> costo materia prima
TBL_CSTMP (Costi Materie Prime)
cstmp_id-> campo contatore chiave primaria
mp_id -> chiave esterna da TBL_MP
cstmp_costo
cstmp_data
TBL_ART (Articoli fatti con materie prime)
art_id -> campo contatore
art_desc -> descrizione
mp_id   -> chiave esterna materie prime
TBL_DTTART (Dettaglio articoli)
dttart_id -> campo contatore
dist_id  -> chiave secondaria legata a tabella Distinta
art_id   -> chiave secondaria legata a tabella TBL_ART
ddtart_qta -> Quantità di materia richiesto
ddtart_ricarico -> Ricarico per articolo
TBL_DISTINTA (Distinta)
dist_id
cli_id  -> chiave esterna x collegare tbl_cliente
dist_data
I prezzo l'utente li inserisce all'interno della tabella materie prime.
Tramite pulsante salva listino, lui aziona la query di accodamento che
accoda i dati nella TBL_CSTMP, dove inserisce il costo e anche la data.
A questo punto, so che la tabella articolo e la tabella costi sono
legati tramite le materie prime, ma non so proprio come fare, nel
senso:
a) faccio la maschera da tbl_distinta dove l'utente agggiunge i vari
articoli, preparo una casella di riepilogo dove per data lui sceglie il
listino che vuole collegare,  ?
Avete qualche idea?
Grazie,
Samantha


title: DB con listino variabile

author: VT @ Work

text:
On 3 Jan 2007 02:49:27 -0800, "Samantha" <
samanth...@gmail.com
>
wrote:
 (...)
>Buongiorno a tutti e buon anno!!!
>Al mio secondo db, non so come gestire un listino dinamico, che segue i
>prezzi di acquisto.
>
>Mi spiego meglio con un esempio.
>
>Compero materie prime come rame, acciaio, ferro. I costi variano di
>giorno in giorno. Perci=F2, devo far si che i miei costi possano variare
>in base al momento in cui acquisto la materia prima.
>Ogni mio prodotto(=3Darticolo) =E8 composto da pi=F9 materie prime, e
>attraverso la distinta base io so che quel prodotto, fatto per quel
>cliente, =E8 composto da x materie prime, che oggi costa tot. , ieri
>aveva un altro prezzo e domani un altro ancora...
>
>Io ero abituata, ad associare ad ogni prodotto o materia prima il suo
>costo, ma in questo caso deve essere dinamica la cosa. Il costo di
>acquisto pu=F2 subire variazioni giornaliere, perci=F2 ogni volta che io
>produco il mio prodotto, devo avere sottomano i prezzi giornalieri.
>
>Le mie tabelle sono queste:
>TBL_MP (Materie prime)
>mp_id -> campo contatore chiave primaria
>mp_desc -> descrizione
>mp_costo -> costo materia prima
>
>TBL_CSTMP (Costi Materie Prime)
>cstmp_id-> campo contatore chiave primaria
>mp_id -> chiave esterna da TBL_MP
>cstmp_costo
>cstmp_data
>
>TBL_ART (Articoli fatti con materie prime)
>art_id -> campo contatore
>art_desc -> descrizione
>mp_id   -> chiave esterna materie prime
>
>TBL_DTTART (Dettaglio articoli)
>dttart_id -> campo contatore
>dist_id  -> chiave secondaria legata a tabella Distinta
>art_id   -> chiave secondaria legata a tabella TBL_ART
>ddtart_qta -> Quantit=E0 di materia richiesto
>ddtart_ricarico -> Ricarico per articolo
>
>TBL_DISTINTA (Distinta)
>dist_id
>cli_id  -> chiave esterna x collegare tbl_cliente
>dist_data
>
>
>
>I prezzo l'utente li inserisce all'interno della tabella materie prime.
>Tramite pulsante salva listino, lui aziona la query di accodamento che
>accoda i dati nella TBL_CSTMP, dove inserisce il costo e anche la data.
>
>A questo punto, so che la tabella articolo e la tabella costi sono
>legati tramite le materie prime, ma non so proprio come fare, nel
>senso:
>
>a) faccio la maschera da tbl_distinta dove l'utente agggiunge i vari
>articoli, preparo una casella di riepilogo dove per data lui sceglie il
>listino che vuole collegare,  ?
>
>Avete qualche idea?
La maschera dove l'utente aggiunge i vari articoli mi sembra una
scelta obbligata.
Per quanto riguarda i prezzi degli articoli, visto che uno dei campi
della distinta č la data, potresti filtrare la casella di riepilogo
proponendo all'utente solo i prezzi listino con data non superiore a
quella della distinta.
Oppure potresti visualizzare non semplicemente tutti i prezzi fino
alla data della distinta, ma un solo prezzo (l'ultimo ? il costo medio
? se costo medio, su quale periodo ?) calcolato in funzione delle
politiche aziendali.
>
>Grazie,
>Samantha
>


title: DB con listino variabile

text:
> La maschera dove l'utente aggiunge i vari articoli mi sembra una
> scelta obbligata.
> Per quanto riguarda i prezzi degli articoli, visto che uno dei campi
> della distinta è la data, potresti filtrare la casella di riepilogo
> proponendo all'utente solo i prezzi listino con data non superiore a
> quella della distinta.
> Oppure potresti visualizzare non semplicemente tutti i prezzi fino
> alla data della distinta, ma un solo prezzo (l'ultimo ? il costo medio
> ? se costo medio, su quale periodo ?) calcolato in funzione delle
> politiche aziendali.
ok
infatti, la prima volta che l'azienda fa quel prodotto, vuole
conoscerne il costo, perciò il mio utente metterà tutti i dati dentro
il listino che avrà la data di oggi (con la query di accodamento ogni
volta faccio una copia del listino con la data in cui avviene la
modifica). Quindi  tu dici "devo filtrare la data della casella di
riepilogo proponendo i prezzi di listino con data non superiore a
quella della distinta"
Questo va bene x la gestione dei costi odierni, ma se io ho una
distinta di marzo 2006, e oggi mi chiedono di farne altri 1000 pezzi di
quel prodotto...
se voglio quindi gestire lo storico allora nella casella di riepilogo
devo filtrare le data e mostrarle in ordine Z->A discendente
Ok grazie intanto x l'aiuto ,
Samantha


title: DB con listino variabile

text:
Ciao,
scusami se riscrivo, sto provando con la casella di riepilogo, che
dovrebbe mostrarmi le date del listino.
La prima cosa che ho fatto, è stata quella di creare la query che
contenga i campi:
SELECT TBL_CSTMP.cstmp_id, TBL_CSTMP.matpri_id, TBL_MATPRI.matpri_desc,
TBL_UM.um_desc, TBL_CSTMP.cstmp_costo, TBL_CSTMP.cstmp_data
FROM TBL_UM INNER JOIN (TBL_MATPRI INNER JOIN TBL_CSTMP ON
TBL_MATPRI.matpri_id = TBL_CSTMP.matpri_id) ON TBL_UM.um_id =
TBL_MATPRI.um_id
WHERE (((TBL_CSTMP.cstmp_data)=[Inserire la data]));
in questo modo imposto un filtro per data all'apertura della query, ma
la cosa non va, mi spiego meglio:
Ecco cosa contiene la tabella TBL_CSTMP
CSTMP_ID
MATPRI.ID
   MATPRI_DESC   CSTMP_COSTO   CSTMP_DATA
1                  1                  RAME                €6,15
               27/12/06
2                  2                  ACCIAIO             €3,50
               27/12/06
3                  3                  FERRO               €2,50
               27/12/06
4                  1                  RAME                €6,30
               28/12/06
5                  2                  ACCIAIO             €3,50
               28/12/06
6                  3                  FERRO               €2,50
               28/12/06
Allora, io filtro x data, magari il 28/12/06 e mi trovo 3 record di
materie prime.
Forse la domanda è stupida, ma non riesco a venirne a capo. Se io devo
fare scegliere il listino, per data, come faccia a fare comparire nella
casella di riepilogo solo una volta la data? Es.
Scelta listino (clicca sulla data)
27/12/06
28/12/06
02/01/07
e associare quindi le materie prime degli articoli a questo costo?
Devo forse fare un tabella listino, dove ho un id per ogni data? tipo:
TBL_Vlistino (tabella versioni listino)
vlist_id     Key primary
vlist_data
TBL_CSTMP
cstmp_id   Key primary
matpri_id  -> Key esterna legata alle materie prime
cstmp_costo
vlist_id      Key esterna che lega alla tabella versioni listino
Quando io eseguirò la query di accodamento dalla tabella materie
prime, questa accoderà i nuovi record nella tabella costi TBL_CSTMP e
creerà un nuovo record nella tabella TBL_Vlistino,
non credo così funzioni
Grazie x l'aiuto a tutti..
:) Samantha
Samantha ha scritto:



title: DB con listino variabile

author: VT @ home

text:
Il 3 Jan 2007 07:01:55 -0800, "Samantha" <
samanth...@gmail.com
> ha scritto:
>(.....)

Prima di tutto, per favore, scrivi *dopo* i messaggi precedenti, altrimenti non si capisce più niente !
Quando hai parlato di "casella di riepilogo" nel tuo msg originale avevo inteso che tu volessi una casella che
consentisse all'utente di selezionare l'articolo con il prezzo ad una certa data.
Quindi che tale casella dovesse presentare una riga per ogni prezzo di ciascun articolo.
Ed infatti questo è ciò che accade nell'esempio sopra !
Da quell'elenco l'utente dovrebbe scegliere per esempio Acciaio, quindi impostare la quantità ed il tuo programma
avrebbe tutti gli elementi per calcolare il prezzo totale per quell'articolo alla data selezionata.
>Forse la domanda è stupida, ma non riesco a venirne a capo. Se io devo
>fare scegliere il listino, per data, come faccia a fare comparire nella
>casella di riepilogo solo una volta la data? Es.
>
>Scelta listino (clicca sulla data)
>27/12/06
>28/12/06
>02/01/07
E' qui che non capisco: a cosa ti serve la sola data ?
Se cambi la condizione WHERE della tua query con
WHERE TBL_CSTMP.cstmp_data=format$(Forms!Distinta!txtDataDistinta;"mm-dd-yyyy")
la query restituirà automaticamente i soli record dove la data cstmp_data è uguale alla data della distinta impostata
dall'utente nel controllo txtDataDistinta della form Distinta.
Comunque, se hai bisogno dell'elenco delle sole date dei prezzi presenti nel listino, ti basta scrivere
SELECT TBL_CSTMP.cstmp_data
FROM TBL_CSTMP
WHERE TBL_CSTMP.cstmp_data=[Inserire la data]
GROUP BY TBL_CSTMP.cstmp_data
>e associare quindi le materie prime degli articoli a questo costo?
>Devo forse fare un tabella listino, dove ho un id per ogni data? tipo:
Assolutamente no !
>TBL_Vlistino (tabella versioni listino)
>vlist_id     Key primary
>vlist_data
>
>TBL_CSTMP
>cstmp_id   Key primary
>matpri_id  -> Key esterna legata alle materie prime
>cstmp_costo
>vlist_id      Key esterna che lega alla tabella versioni listino
>
>Quando io eseguirò la query di accodamento dalla tabella materie
>prime, questa accoderà i nuovi record nella tabella costi TBL_CSTMP e
>creerà un nuovo record nella tabella TBL_Vlistino,
>
>non credo così funzioni
>
>Grazie x l'aiuto a tutti..
>:) Samantha
Vincenzo Turturro
---------------------------------------------
il sito comune di it.comp.appl.access:
http://www.sitocomune.com/
---------------------------------------------
E quello di it.comp.as400
http://www.faq400.com/
---------------------------------------------


title: DB con listino variabile

text:
VT @ home ha scritto:

Grazie mille per la risposta,
io non ho spiegato probabilmente bene come dovrebbe funzionare il db,
è la prima volta che provo a fare una cosa così e ho qualche
difficoltà.
Parto da un esempio più semplice.
Sono una pasticcieria, e le materie prime che sono farina, latte, uova,
lievito
Con questi preparo articoli che sono ad es. base per torta, crema,
ripieno
La base per torta diam. 12 è composta  da più materie prime quali
 - 0,1hg di farina,
 - 500ml. di latte,
 - 1gr. di lievito
Il ripieno
I prodotti che vendo come pasticcieria sono torte, paste, semifreddi.
Ogni prodotto è composto da più articoli, per esempio:
 Una torta XY è composta da
    - 1* base per torta diametro 12cm.,
    - 1* ripieno, 0.5lt latte e 2 uova.
Mentre la torta XZ è composta da 0,2kg. di farina, 0,3lt latte e 1
uovo
Poi devo aggiungerci la manodopera, della quale ho cronometrato le
tempistiche, l'imballaggio, le spese di trasporto, e il margine che
voglio guadagnare sui costi di acquisto.
Io so quanto mi costa un 1kg. di farina, 1lt. di latte, e 1 uovo
Ogni giorno faccio diversi tipi di torte, e la stessa torta la posso
fare 3 volte all'anno.Perciò ho una vasta produzione di diversi
articoli.
Il costo delle materie prime varia giornalmente, perchè i prezzi li
prendo dalle quotazioni della borsa. E uso n. materie prime (credo 100
tipologie diverse circa)
Scusa l'esempio, ma mi viene + facile parlare di cucina che di torneria
;)
A questo punto, Io so che la torta XY è composta da:
0,5kg. di farina
0,3lt. di latte
1 uovo
Manodopera € 0.35
Imballaggio €1,00
Margine 0,10%
-----------------------------------------------------------------
La manodopera e imballaggio è un costo fisso e noto.
Le materie prime invece variano, nel senso che la faccio oggi, ho il
valore della borsa di oggi, se la faccio domani i costi cambiano.
Abbiamo quindi fissato che il listino può subire una variazione al
massimo giornaliera.
Il risultato che devo ottenere, è di poter sempre scegliere il listino
in base alla data, e avere ogni volta i costi aggiornati a quella data.
Ma il punto è che realmente non so come fare. Come lego il listino
agli articoli?
Al momento ho progettato come di seguito le tabelle:
TBL_Matpri (materie prime quali rame, acciaio, ferro)
matpri_id        Key Chiave primaria
matpri_desc   Descrizione
matpri_um      Definisco unità di misura (kg., singolo, al millimetro)
matpri_costo  Costo
TBL_CSTMP  (Costo materie prime)
cstmp_id       Key Chiave primaria
matpri_id        Key Chiave Tbl_matpri
cstmp_costo   Costo
cstmp_data     Data
TBL_ARTICOLI  (Elenco delle materie prime che compongono l'ARTICOLO)
art_id             Key Chiave primaria
matpri_id        Key Chiave Tbl_matpri
art_desc         Descrizione
art_coeff         Coefficiente (es. se servono 500gr. di farina)
TBL_DTTPRODOTTO (Elenco degli articoli che compongono il prodotto)
dttprod_id    Key Chiave primaria
art_id          Key esterna TBL_ARTICOLI
dist_id         Key esterna TBL_DISTINTA
dttprod_qta  Quantità
TBL_DISTINTA   (Rappresenta il prodotto, ossia x esempio la torta)
dist_id         Key Chiave primaria
dist_data     Data
dist_ricarico  Ricarico
dist_spese   Spese di trasporto
Come vedi, il listino non è legato agli articoli che compongono il
prodotto, ma alle materie prime che compongono il prodotto.
Il prezzo dell'articolo, lo avrò moltiplicando il costo di acquisto
della materia prima che lo compone, per il coefficiente che c'è
nell'articolo che faccio (es. tubo di rame ha per millimetro 0,15 di
rame) e il tubo è lungo 20 mm.
Intanto grazie per il group by, sono alle prime armi con sql e le cose
semplici sono difficili.
Grazie e buona serata,
Samantha


title: DB con listino variabile

text:
On 3 Jan 2007 09:13:29 -0800, "Samantha" <
samanth...@gmail.com
>
wrote:
> (...)
>Grazie mille per la risposta,
>io non ho spiegato probabilmente bene come dovrebbe funzionare il db,
>=C3=A8 la prima volta che provo a fare una cosa cos=C3=AC e ho qualche
>difficolt=C3=A0.
>
>Parto da un esempio pi=C3=B9 semplice.
>
>Sono una pasticcieria, e le materie prime che sono farina, latte, uova,
>lievito
>Con questi preparo articoli che sono ad es. base per torta, crema,
>ripieno
>La base per torta diam. 12 =C3=A8 composta  da pi=C3=B9 materie prime quali
> - 0,1hg di farina,
> - 500ml. di latte,
> - 1gr. di lievito
>Il ripieno
>
>I prodotti che vendo come pasticcieria sono torte, paste, semifreddi.
>Ogni prodotto =C3=A8 composto da pi=C3=B9 articoli, per esempio:
> Una torta XY =C3=A8 composta da
>    - 1* base per torta diametro 12cm.,
>    - 1* ripieno, 0.5lt latte e 2 uova.
>Mentre la torta XZ =C3=A8 composta da 0,2kg. di farina, 0,3lt latte e 1
>uovo
>
>Poi devo aggiungerci la manodopera, della quale ho cronometrato le
>tempistiche, l'imballaggio, le spese di trasporto, e il margine che
>voglio guadagnare sui costi di acquisto.
>
>Io so quanto mi costa un 1kg. di farina, 1lt. di latte, e 1 uovo
>
>Ogni giorno faccio diversi tipi di torte, e la stessa torta la posso
>fare 3 volte all'anno.Perci=C3=B2 ho una vasta produzione di diversi
>articoli.
>
>
>Il costo delle materie prime varia giornalmente, perch=C3=A8 i prezzi li
>prendo dalle quotazioni della borsa. E uso n. materie prime (credo 100
>tipologie diverse circa)
>
>Scusa l'esempio, ma mi viene + facile parlare di cucina che di torneria
>;)
>
>A questo punto, Io so che la torta XY =C3=A8 composta da:
>0,5kg. di farina
>0,3lt. di latte
>1 uovo
>Manodopera =E2=82=AC 0.35
>Imballaggio =E2=82=AC1,00
>Margine 0,10%
>-----------------------------------------------------------------
>
>La manodopera e imballaggio =C3=A8 un costo fisso e noto.
>
>Le materie prime invece variano, nel senso che la faccio oggi, ho il
>valore della borsa di oggi, se la faccio domani i costi cambiano.
>
>Abbiamo quindi fissato che il listino pu=C3=B2 subire una variazione al
>massimo giornaliera.
>
>Il risultato che devo ottenere, =C3=A8 di poter sempre scegliere il listino
>in base alla data, e avere ogni volta i costi aggiornati a quella data.
>
>Ma il punto =C3=A8 che realmente non so come fare. Come lego il listino
>agli articoli?
Tramite la tabella TBL_MatPri.
Però, guardando in dettaglio la struttura che hai dato alle tabelle,
secondo me te ne manca qualcuna.
A livello descrittivo, per maggiore chiarezza, io parlerei di:
Distinta 		(associata a cliente, contenente più articoli)
Articoli  		(contenenti ciascuno più componenti)
Componenti	(contenenti una o più materie prime)
Materie prime
Ovvero: un cliente ordina un certo insieme di articoli (che compongono
la distinta); ogni articolo può essere formato da uno o più
componenti; ogni componente può richiedere una o più materie prime.
In termini di tabelle:
TBL_Distinta (testata distinta)
dist_id          	Key Chiave primaria
dist_data      	Data
dist_ricarico  	Ricarico
dist_spese    	Spese di trasporto
distCliente	Identificatvo cliente
TBL_DistintaDett (dettaglio distinta)
DistD_ID	Chiave primaria
DistD_Testa	Chiave esterna su dist_id di TBL_Distinta
DistD_Articolo	Chiave esterna su Art_ID di TBL_Articoli
DistD_Qta	Quantità articolo
TBL_Articoli (testata articoli)
art_id             	Key Chiave primaria
art_desc         	Descrizione
TBL_ArticoliDett (dettaglio articoli)
artD_id             	Key Chiave primaria
artD_Testa	Chiave esterna su art_ID di TBL_Articoli
artD_Comp_id    Chiave esterna su Comp_ID di Tbl_Componenti
art_Qta		Quantità componente
TBL_Componenti (testata componenti)
Comp_id             Key Chiave primaria
Comp_desc        Descrizione
TBL_ComponentiDett (dettaglio componenti)
CompD_id          	Key Chiave primaria
CompD_Testa	Chiave esterna su Comp_id di TBL_Componenti
CompD_Mat_ID	Chiave esterna su matpri_ID di Tbl_matpri
CompD_coeff     Coefficiente (es. se servono 500gr. di farina)
TBL_MatPri	(materie prime)
matpri_id        	Key Chiave primaria
matpri_desc   	Descrizione
matpri_um      	Unità di misura (kg., singolo, al millimetro)
TBL_CSTMP  	(Costo materie prime)
cstmp_id        	Key Chiave primaria
matpri_id        	Chiave esterna su matpri_ID di Tbl_matpri
cstmp_costo  	Costo
cstmp_data    	Data
Questa struttura (salvo errori ed omissioni !) dovrebbe coprire il
caso più generale.
Ovviamente per gestire il tutto serve un certo sforzo nella
costruzione delle form e delle query per "ricomporre" i dati sparsi
nelle varie tabelle.
Se hai bisogno, sai dove cercare ...
> (...)


title: DB con listino variabile

text:
VT @ Work ha scritto:

Ciao VT, come hai potuto notare, mi manca il dono della sintesi.
Per capire la tua struttura, l'ho disegnata e come relazioni su un
foglio, e alla fine mi sono accorta che nel mio caso:
Distinta            (associata a cliente, contenente + articoli)
Articoli             (contenente più componenti)
Componenti      (contiene una materia prima)
Materia prima
Perciò l'unica cosa che non devo inserie è la tabella TBL_Componenti
Dettagli, e la tabella componenti diventa:
TBL_Componenti
comp_id                  Chiave primaria
comp_desc              Descrizione
comp_mp_id            Chiave esterna (primaria della TBL_MP.mp_id)
comp_coeff              Coefficiente
Questo perchè, il componente può essere un tubo fatto di rame,  del
quale prendo magari una lunghezza diversa.
Grazie infinite x l'aiuto e pazienza
Samantha



title: Stampa da Access di un file word

text:
Salve a tutti.
Avrei un piccolo problemino da risolvere:
Partendo da un documento di trasporto (file excel)che contiene un certo
numero di articoli (identificati per numero di articolo o numero di
colata) dovrei cercare di stampare in automatico i corrispondenti
certificati (file word).
Per i prodotti identificati per numero di articolo i certificati sono
sempre uguali, quindi bisognerebbe stampare un file word corrispondente.
Per i prodotti identificati per numero di colata ho un file pdf per ogni
numero di colata, produttore, prodotto.
Se avete qualche suggerimento in proposito.....
Grazie infinite a tutti
Vincenzo
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news
 segnala gli abusi ad
ab...@newsland.it


title: Stampa da Access di un file word

text:
"salvin168" <
salv...@lycos.it
> ha scritto nel messaggio
news:dti9c7$859$1...@news.newsland.it...
> Salve a tutti.
> Avrei un piccolo problemino da risolvere:
> Partendo da un documento di trasporto (file excel)che contiene un certo
> numero di articoli (identificati per numero di articolo o numero di
> colata) dovrei cercare di stampare in automatico i corrispondenti
> certificati (file word).
Stampa Unione in Word;
> Per i prodotti identificati per numero di articolo i certificati sono
> sempre uguali, quindi bisognerebbe stampare un file word corrispondente.
www.sitocomune.com
 Sezione General:
6.137 Esempio di automazione per l'invio e la formattazione di dati da
Access a Word usando i bookmarks
6.107 Utilizzare word per stampare un documento di tipo fattura
> Per i prodotti identificati per numero di colata ho un file pdf per ogni
> numero di colata, produttore, prodotto.
Installarti un programmino che aggiunge una stampante virtuale che ti genera
il file pdf; sempre sul sito comune trovi degli esempi:
Sezione Reports: 4.21 Esportare un report in un file PDF
oppure su internet:
http://www.pdfhacks.com/watermark
http://www.primopdf.com
> Se avete qualche suggerimento in proposito.....
> Grazie infinite a tutti
> Vincenzo
Ciao.
--
Sergio MAZZA


title: Stampa da Access di un file word

author: Alessandro Baraldi

text:
Oltre a quanto detto da Sergio c'è questa possibilità un pò
dimenticata che ritengo estremamente utile:
Public Declare Function ShellExecute Lib "shell32.dll" _
Alias "ShellExecuteA" ( ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParametri As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
Public Const SW_SHOWNORMAL=1
Manda in stampa un file
Sub ShellPrintTo()
Dim strFile 	As String
Dim lngErr 	As Long
strFile = "C:\MyFolder\MyDocument.Doc"
lngErr =  ShellExecute(0, "PRINT", strFile, "", "",  SW_SHOWNORMAL)
End Sub
@Alex


title: Stampa da Access di un file word

text:
Sergio MAZZA ha scritto:

> Stampa Unione in Word;





> Ciao.
Grazie mille!
Ci lavoro un pò su e poi ti faccio sapere....
Ciao



title: Stampa da Access di un file word

text:
Alessandro Baraldi ha scritto:
> Oltre a quanto detto da Sergio c'è questa possibilità un pò
> dimenticata che ritengo estremamente utile:
> Public Declare Function ShellExecute Lib "shell32.dll" _
> Alias "ShellExecuteA" ( ByVal hwnd As Long, _
> ByVal lpOperation As String, _
> ByVal lpFile As String, _
> ByVal lpParametri As String, _
> ByVal lpDirectory As String, _
> ByVal nShowCmd As Long) As Long
> Public Const SW_SHOWNORMAL=1
> Manda in stampa un file
> Sub ShellPrintTo()
> Dim strFile 	As String
> Dim lngErr 	As Long
> strFile = "C:MyFolderMyDocument.Doc"
> lngErr =  ShellExecute(0, "PRINT", strFile, "", "",  SW_SHOWNORMAL)
> End Sub
> @Alex
Grazie @Alex, proverò il tuo suggerimento e ti farò saper com'è andata...



title: accodare tbA collegata 1 molti con tbA1 a tbB collegata 1 a molti con tbB1

author: NSantini

text:
Buongiorno a tutti.
Qualche anno fa creai un database con solo due tabelle tbA e tbA1 collegate 1(A) a molti(A1). Copia gemella della struttura l'ho passata a un collega che faceva lo stesso lavoro su un altro ambulatorio. Il collega è andato in pensione e mi ritrovo a gestire il suo database oltre al mio. Desidero unire i due database in uno e ho pensato a una query di accodamento in modo che idati di tbB si accodano a tbA e quelli di tbB1 a tbA1.
Mi sono perso tra INSERT INTO e INNER JOIN senza cavarne un risultato utile.
Per piacere potreste darmi una dritta?


author: Bruno Campanini

text:
It happens that NSantini formulated :

Ove non vi fossero generazioni automatiche di codici, dovresti
procedere con query di APPEND da tbB a tbA e successivamente
con analoga query da tbB1 a tbA1.

Questa è una risposta molto generica che prescinde da eventuali
altre importanti considerazioni.
Dovresti mettere online almeno il layout delle tabelle e delle
relazioni esistenti fra le tabelle.
Meglio sarebbe i due dabatase con alcuni dati significativi.

Bruno


title: URGENTE - FUNZIONE

author: Luca

text:
Ho scritto una funzione in cui uso la funzione right, ma quando la lancio,
mi da errore probabilmente della libreria, come posso risolverlo, ringrazio
anticipatamente
Luca


title: URGENTE - FUNZIONE

author: Roberto in campagna

text:
"Luca" <
l...@lagodiendine.net
> ha scritto nel messaggio
news:9hhpfr$if0$1...@nreadA.inwind.it...

Che errore ti dà e che versione di Access usi?
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


title: URGENTE - FUNZIONE

text:
Grazie mille per l'interessamento ma ho risolto.
alla prossima
ciao
"Roberto in campagna" <
r.ma...@libero.it
> ha scritto nel messaggio
news:sk1%6.188$F85....@news.infostrada.it...



title: [OT]: Risolvere da soli i problemi

author: The-real-Isaac

text:
Noto che a volte chi pone una domanda chiude la discussione con un 'grazie
ho risolto da solo'.
Io, in questi casi, troverei giusto che la persona dicesse anche come ha
risolto. Voi cosa ne pensate?
Ciao a tutti.
--
Alberto


title: [OT]: Risolvere da soli i problemi

author: Emyr

text:


sono della tua stessa opinione lo trovo molto scortese
Saluti.
Emanuele.


title: [OT]: Risolvere da soli i problemi

text:
Io lo dico semrpe infatti. quindi non parlavi di me!
"The-real-Isaac" <sartori.rossi.nospam@tin> ha scritto nel messaggio
news:Qmcb8.74519$3J1.2...@news2.tin.it...



title: [OT]: Risolvere da soli i problemi

text:
"Tosto73" <
tos...@libero.it
> ha scritto nel messaggio
news:bxeb8.1562$8F6....@twister2.libero.it...
> "The-real-Isaac" <sartori.rossi.nospam@tin> ha scritto nel messaggio
> news:Qmcb8.74519$3J1.2...@news2.tin.it...
> > Noto che a volte chi pone una domanda chiude la discussione con un
'grazie
> > ho risolto da solo'.
> > Io, in questi casi, troverei giusto che la persona dicesse anche come ha
> > risolto. Voi cosa ne pensate?
> >
> > Ciao a tutti.
> >
> > --
> > Alberto
> >
> Io lo dico semrpe infatti. quindi non parlavi di me!
>
Ma io in ogni caso non avevo assolutamente intenzione di personalizzare o
polemizzare. Infatti ho poi notato moltissime discussioni in cui la
soluzione viene riportata. È un po' come leggere un giallo a cui manca
l'ultimo capitolo ...
Sinceramente non mi ricordo neanche a chi mi riferissi ... dovrei andare
indietro a vedere ...
Mi fa comunque  piacere vedere di non essere l'unico ad essere leggermente
infastidito da queste cose ...
Ciao
--
Alberto


title: [OT]: Risolvere da soli i problemi

text:
"The-real-Isaac" <sartori.rossi.nospam@tin> ha scritto nel messaggio
news:Qmcb8.74519$3J1.2...@news2.tin.it...
> Noto che a volte chi pone una domanda chiude la discussione con un 'grazie
> ho risolto da solo'.
> Io, in questi casi, troverei giusto che la persona dicesse anche come ha
> risolto. Voi cosa ne pensate?
>
>cut
E' come chiedere in prestito l'esca poi prendere un pescione grosso e
scappare via!!!


title: Re: Query tipo tabella pivot ?

author: Roberto da Parma

text:
<
cosi...@gmail.com
> ha scritto nel messaggio
news:7cd2b763-126c-4dab...@e23g2000vbe.googlegroups.com...
> Ciao
> mi arrendo sono giorni che tento e giro per forum ma niente
> non riesco a fare una cosa come questa
>
>                                  |  SOCIO EFFETTIVO | SOCIO
> BENEMERITO | SOCIO SOSTENITORE
> CONTO CORRENTE    |              210             |
> 0           |             1
> CONTANTE                 |                23
> |                     4            |            5
> RID                             |                 66
> |                      0           |            0
>
>
> i dati sono tutti nella stessa tabella e  tutti sono contraddistinti
> da una "SI" o da Null
> il DB non l'ho fatto io
> come posso fare per risolvere ?
>
> Grazie a tutti
Ti dovresti spiegare meglio...
se i dati comunque sono tutti sulla stessa tabella inizia con l'usare la
creazione guidata tabella pivot...potresti capire di pi�.
Ciao
--
Roberto da Parma


title: Re: Query tipo tabella pivot ?

text:
On 19 Mag, 22:21, "Roberto da Parma" <
arisi.robe...@tin.it
> wrote:
> <
cosim...@gmail.com
> ha scritto nel messaggionews:7cd2b763-126c-4dab...@e23g2000vbe.googlegroups.com...
>
>
>
> > Ciao
> > mi arrendo sono giorni che tento e giro per forum ma niente
> > non riesco a fare una cosa come questa
>
> >                                  |  SOCIO EFFETTIVO | SOCIO
> > BENEMERITO | SOCIO SOSTENITORE
> > CONTO CORRENTE    |              210             |
> > 0           |             1
> > CONTANTE                 |                23
> > |                     4            |            5
> > RID                             |                 66
> > |                      0           |            0
>
> > i dati sono tutti nella stessa tabella e  tutti sono contraddistinti
> > da una "SI" o da Null
> > il DB non l'ho fatto io
> > come posso fare per risolvere ?
>
> > Grazie a tutti
>
> Ti dovresti spiegare meglio...
> se i dati comunque sono tutti sulla stessa tabella inizia con l'usare la
> creazione guidata tabella pivot...potresti capire di più.
>
> Ciao
>
> --
>
> Roberto da Parma
Con la creazione tabella pivot c'ho provato ma non ci
sono riuscito, come ho scritto nell'altro post i i campi
delle righe sono 3 e nelle colonne sono 5 ho
provato anche con l'esempio del sito comune
"trasposizione righe - colonne" ma prevede un
solo campo per le colonne


title: errore di run time 5273

text:
Ho questa function che mi permette di dìselezionare più file
attraveso una finestra windows
Una volta selezionati dovrei stampare i file ma il codice mi da errore
di run time 5273 qualcuno puo aiutarmi
questo è il codice e il punto dove mi da errore
ption Compare Database
Public oWord As Word.Application
Public oDoc As Word.Document
Declare Function GetOpenFileName Lib "comdlg32.dll" Alias
"GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
'questa è la struct che vuole la API
Type OPENFILENAME
    lStructSize As Long
    hwndOwner As Long
    hInstance As Long
    lpstrFilter As String
    lpstrCustomFilter As String
    nMaxCustFilter As Long
    nFilterIndex As Long
    lpstrFile As String
    nMaxFile As Long
    lpstrFileTitle As String
    nMaxFileTitle As Long
    lpstrInitialDir As String
    lpstrTitle As String
    flags As Long
    nFileOffset As Integer
    nFileExtension As Integer
    lpstrDefExt As String
    lCustData As Long
    lpfnHook As Long
    lpTemplateName As String
End Type
Const ANF_PERMETTESELEZIONEMULTIPLA = &H200
Const ANF_CREAPROMPT = &H2000
Const ANF_EXPLORER = &H80000
Const ANF_ENABLETEMPLATE = &H40
Const ANF_ENABLEHOOK = &H20
Const ANF_FILEDEVEESISTERE = &H1000
Const ANF_NASCONDESOLALETTURA = &H4
Const ANF_NONCAMBIACARTELLA = &H8
Const ANF_COLLEGAMENTIRIFERIMENTONODI = &H100000
Const ANF_NESSUNPULSANTEDIRETE = &H20000
Const ANF_NONRESTITUISCESOLALETTURA = &H8000
Const ANF_NESSUNACONVALIDA = &H100
Const ANF_SOVRASCRIVEPROMPT = &H2
Const ANF_PERCORSODEVEESISTERE = &H800
Const ANF_SOLALETTURA = &H1
Const ANF_MOSTRAGUIDA = &H10
Const ANF_NODEREFERENCELINKS = &H100000
Sub GetFileName()
  Dim IMPFILE, IMPORTFILE As String
    Dim OpenFile As OPENFILENAME
    Dim lReturn As Long
    Dim sFilter As String
    OpenFile.lStructSize = Len(OpenFile)
    OpenFile.hwndOwner = 0  ' Usa Me.hwnd se il codice fa parte della
form
    OpenFile.hInstance = 0
    sFilter = "All Files (*.*)" & Chr(0) & "*.*" & Chr(0)
    OpenFile.lpstrFilter = sFilter
    OpenFile.nFilterIndex = 0
    OpenFile.lpstrFile = String(4097, 0)
    OpenFile.nMaxFile = Len(OpenFile.lpstrFile) - 1
    OpenFile.lpstrFileTitle = OpenFile.lpstrFile
    OpenFile.nMaxFileTitle = OpenFile.nMaxFile
    OpenFile.lpstrInitialDir = "c:\*.DOC"
    OpenFile.lpstrTitle = "Select file"
    OpenFile.flags = ANF_EXPLORER Or ANF_PERMETTESELEZIONEMULTIPLA
    lReturn = GetOpenFileName(OpenFile)
    If lReturn = 0 Then
    cmdlg_file = ""
Else
    cmdlg_file = Left(OpenFile.lpstrFile, InStr(OpenFile.lpstrFile,
Chr$(0) & Chr(0)) - 1)
End If
Dim strArray() As String
   Dim f As Integer
   Dim strTest As String
     Dim nomefile As Variant
   strTest = cmdlg_file
   strArray = Split(strTest, Chr$(0))
   For f = 0 To UBound(strArray)
    nomefile = strArray(0) & "\" & strArray(f)
    Set oWord = New Word.Application
    Set oDoc =
oWord.Documents.Open(nomefile)----------------------ERRORE run time
5273 percorso non trovato
oWord.PrintOut FileName:=nomefile(f)
Next f
  End Sub


title: errore di run time 5273

author: Alessandro Cara

text:
budem...@libero.it
 wrote:
> Ho questa function che mi permette di děselezionare piů file
> attraveso una finestra windows
> Una volta selezionati dovrei stampare i file ma il codice mi da errore
> di run time 5273 qualcuno puo aiutarmi
>
> questo č il codice e il punto dove mi da errore
> ption Compare Database
Option Compare Database
Magari se ci aggiungi anche
Option explicit
puo' essere utile
Copiato e incollato ehhhh?
--
ac
y-1=x


title: errore di run time 5273

text:
budem...@libero.it
 ha scritto:

Ma non si fà una cosa del genere.....!!!
Non usare l'automazione per lanciare la stampa a meno di non rendere
SINCRONO il sistema, in quel modo tenti di aprire un sacco di istanze
di Word per nulla...!!!!
Se vuoi usare l'automazione devi attendere la chiusura della stampa, e
riaprtire.
altrimenti la soluzione migliore è quella di sfruttare ShellExecute,
visto che hai copiato ed incollato quello di prima incolla anche
questo:
For f = 0 To UBound(strArray)
     nomefile = strArray(0) & "\" & strArray(f)
     Call PrintBatch(NomeFile, "", SW_HIDE, True)
Next f
Accertati cosa esce da NomeFile con il Debug in modo da capire se la
costruzione dell'indirizzo è corretta....!
Quì trovi la funzione per lanciare la stampa Batch di tutti i file...!
Metti tutto in un Modulo poi passa alla funzione il nome file:
Private Type SHELLEXECUTEINFO
   cbSize As Long
   fMask As Long
      '0x00000001 (SEE_MASK_CLASSNAME) lpClass
      '0x00000003 (SEE_MASK_CLASSKEY) hkeyClass
      '0x00000004 (SEE_MASK_IDLIST) lpIDList
      '0x0000000c (SEE_MASK_INVOKEIDLIST)
      '0x00000010 (SEE_MASK_ICON) hIcon
      '0x00000020 (SEE_MASK_HOTKEY) dwHotKey
      '0x00000040 (SEE_MASK_NOCLOSEPROCESS)
      '0x00000080 (SEE_MASK_CONNECTNETDRV) lpName
      '0x00000100 (SEE_MASK_FLAG_DDEWAIT) DDE
      '0x00000200 (SEE_MASK_DOENVSUBST) lpDirectory
      '0x00000400 (SEE_MASK_FLAG_NO_UI)
      '0x00004000 (SEE_MASK_UNICODE) Unicode
      '0x00008000 (SEE_MASK_NO_CONSOLE)
      '0x00200000 (SEE_MASK_HMONITOR)
      '0x04000000 (SEE_MASK_FLAG_LOG_USAGE)
   hwnd As Long
   lpVerb As String
   lpFile As String
   lpParameters As String
   lpDirectory As String
   nShow As Long
   hInstApp As Long
   lpIDList As Long
   lpClass As String
   hkeyClass As Long
   dwHotKey As Long
   hIcon As Long
   hProcess As Long
End Type
Private Const SEE_MASK_NOCLOSEPROCESS = &H40
Private Const SEE_MASK_NO_CONSOLE = &H8000
Private Const SEE_MASK_CLASSKEY = &H3
Private Const SEE_MASK_IDLIST = &H4
Private Const SEE_MASK_CLASSNAME = &H1
Private Const SEE_MASK_INVOKEIDLIST = &HC
Private Const SEE_MASK_FLAG_DDEWAIT = &H100
Private Declare Function ShellExecuteEx Lib "shell32.dll" Alias
"ShellExecuteExA" (lpExecInfo As SHELLEXECUTEINFO) As Long
Public Enum LauncherDisplayMode
  SW_HIDE = 0
  SW_SHOWNORMAL = 1
  SW_SHOWMINIMIZED = 2
  SW_SHOWMAXIMIZED = 3
  SW_SHOW = 5
  SW_MINIMIZE = 6
  SW_SHOWMINNOACTIVE = 7
  SW_SHOWNA = 8
  SW_RESTORE = 9
  SW_SHOWDEFAULT = 10
End Enum
Public Enum LauncherCommand
  LC_OPEN = 0
  LC_EDIT = 1
  LC_PRINT = 2
  LC_PROPERTIES = 3
End Enum
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function WaitForSingleObject Lib "kernel32.dll" (ByVal
hHandle As Long, ByVal _
   dwMilliseconds As Long) As Long
Const INFINITE = &HFFFF
Const WAIT_TIMEOUT = &H102
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As
Long) As Long
Public Function PrintBatch(FileName As String, FileOptions As String,
DisplayMode As LauncherDisplayMode, Optional WaitEndOfProces As Boolean
= False) As Boolean
'
'-- lancia un'applicazione e restituisce un booleano che indica la
'   riuscita dell'operazione
--
'-- in caso di errore visualizza il relativo messaggio se ShowError è
True --
  Dim sei As SHELLEXECUTEINFO
  Dim RetVal As Long
  With sei
    .cbSize = Len(sei)
    .fMask = SEE_MASK_NOCLOSEPROCESS Or SEE_MASK_FLAG_DDEWAIT Or
SEE_MASK_NO_CONSOLE
    .hwnd = GetDesktopWindow()
    .lpVerb = "PRINT"
    .lpFile = FileName
    .lpParameters = FileOptions
    .lpDirectory = ""
    .nShow = DisplayMode
  End With
  ' Open the file using its associated program.
  RetVal = ShellExecuteEx(sei)
  PrintBatch = (RetVal <> 0)
  If RetVal = 0 Then
    ' The function failed, so report the error.  Err.LastDllError
    ' could also be used instead, if you wish.
    Else
    If WaitEndOfProces Then
      '--- attesa ---
      ' Wait for the opened process to close before continuing. Instead
      ' of waiting once for a time of INFINITE, this example repeatedly
checks to see if the
      ' is still open.  This allows the DoEvents VB function to be
called, preventing
      ' our program from appearing to lock up while it waits.
      Do
        DoEvents
        RetVal = WaitForSingleObject(sei.hProcess, 0)
      Loop While RetVal = WAIT_TIMEOUT
      Call CloseHandle(sei.hProcess)
    End If
  End If
End Function
@Alex


title: errore di run time 5273

text:
Così mi funziona
Dim strArray() As String
   Dim f As Integer
   Dim strTest As String
     Dim nomefile As Variant
   strTest = cmdlg_file
   strArray = Split(strTest, Chr$(0))
   For f = 1 To UBound(strArray)
Debug.Print Trim(strArray(f))
    nomefile = strArray(0) & "\" & strArray(f)
    Set oWord = New Word.Application
    Set oDoc = oWord.Documents.Open(nomefile)
oDoc.PrintOut
DoEvents
    oDoc.Close (False)
    Set oDoc = Nothing
Next f
msgbox ("Fine Stampa")
  End Sub
Ciao


title: errore di run time 5273

text:
budem...@libero.it
 ha scritto:
> Così mi funziona
Speriamo che tu non debba distribuirlo però..... altrimenti ti verrà
in mente il mio suggeriemento e dovrai fare dell'autolesionismo...!
> Ciao
@Alex


title: errore di run time 5273

text:
Alessandro Baraldi ha scritto:

Mi serve per uso personale devo  velocizzare la stampa di molte lettere
doc, avevo scaricato un progarmmino da internet bacthdocprint ma tra la
stampa e l'altra attendeva troppo tempo speriamo bene
grazie ancora


title: errore di run time 5273

text:
<
budem...@libero.it
> ha scritto nel messaggio
news:1166444134.3...@79g2000cws.googlegroups.com...
Mi serve per uso personale devo  velocizzare la stampa di molte lettere
doc, avevo scaricato un progarmmino da internet bacthdocprint ma tra la
stampa e l'altra attendeva troppo tempo speriamo bene
grazie ancora
[risposta]
Se devi stampare una serie di documenti della stessa "natura" (es. documenti
word); allora ti conviene dare ascolto ad Alessandro.
Il tuo codice č molto instabile e rischi di non velocizzare nulla ma, anzi,
ti ritroverai con molte istanze di word invisibili piů i relativi documenti;
rischiando di rovinarli se il pc si blocca per mancanza di risorse. Senza
parlare poi che ingolfando il pc rallenterai sempre di piů la stampa di
qualsiasi documento.
Fai sicuramente prima se:
1 - Apri una istanza di word
2 - Apri il documento da stampare
3 - Stampi il documento
4 - Chiudi il documento
5 - (per ogni documento ripeti il ciclo dal punto 2)
poi devi gestire eventuali errori e distruggere (set nomeVar = nothing) le
variabili che hai creato.
Invece di ripercorrere tutto dal punto 1 per ogni documento.
In questo modo sei al riparo da quasi tutti i problemi...
Ciao.
--
Sergio MAZZA


title: errore di run time 5273

text:
Sergio MAZZA ha scritto:
> <
budem...@libero.it
> ha scritto nel messaggio
> news:1166444134.3...@79g2000cws.googlegroups.com...
>
> Mi serve per uso personale devo  velocizzare la stampa di molte lettere
> doc, avevo scaricato un progarmmino da internet bacthdocprint ma tra la
> stampa e l'altra attendeva troppo tempo speriamo bene
> grazie ancora
>
> [risposta]
> Se devi stampare una serie di documenti della stessa "natura" (es. documenti
> word); allora ti conviene dare ascolto ad Alessandro.
> Il tuo codice è molto instabile e rischi di non velocizzare nulla ma, anzi,
> ti ritroverai con molte istanze di word invisibili più i relativi documenti;
> rischiando di rovinarli se il pc si blocca per mancanza di risorse. Senza
> parlare poi che ingolfando il pc rallenterai sempre di più la stampa di
> qualsiasi documento.
>
> Fai sicuramente prima se:
> 1 - Apri una istanza di word
> 2 - Apri il documento da stampare
> 3 - Stampi il documento
> 4 - Chiudi il documento
> 5 - (per ogni documento ripeti il ciclo dal punto 2)
> poi devi gestire eventuali errori e distruggere (set nomeVar = nothing) le
> variabili che hai creato.
>
> Invece di ripercorrere tutto dal punto 1 per ogni documento.
>
> In questo modo sei al riparo da quasi tutti i problemi...
>
> Ciao.
> --
> Sergio MAZZA
Sti giovinastri che non ascoltano....
@Alex


title: errore di run time 5273

text:
"Alessandro Baraldi" <
ik2...@libero.it
> ha scritto nel messaggio
news:1166450641.2...@48g2000cwx.googlegroups.com...
Sti giovinastri che non ascoltano....
@Alex
[risposta]
Ah! Beata gioventů...
Ciao.
--
Sergio MAZZA


title: errore di run time 5273

text:
Sergio MAZZA ha scritto:
> <
budem...@libero.it
> ha scritto nel messaggio
> news:1166444134.3...@79g2000cws.googlegroups.com...
>
> Mi serve per uso personale devo  velocizzare la stampa di molte lettere
> doc, avevo scaricato un progarmmino da internet bacthdocprint ma tra la
> stampa e l'altra attendeva troppo tempo speriamo bene
> grazie ancora
>
> [risposta]
> Se devi stampare una serie di documenti della stessa "natura" (es. documenti
> word); allora ti conviene dare ascolto ad Alessandro.
> Il tuo codice è molto instabile e rischi di non velocizzare nulla ma, anzi,
> ti ritroverai con molte istanze di word invisibili più i relativi documenti;
> rischiando di rovinarli se il pc si blocca per mancanza di risorse. Senza
> parlare poi che ingolfando il pc rallenterai sempre di più la stampa di
> qualsiasi documento.
>
> Fai sicuramente prima se:
> 1 - Apri una istanza di word
> 2 - Apri il documento da stampare
> 3 - Stampi il documento
> 4 - Chiudi il documento
> 5 - (per ogni documento ripeti il ciclo dal punto 2)
> poi devi gestire eventuali errori e distruggere (set nomeVar = nothing) le
> variabili che hai creato.
>
> Invece di ripercorrere tutto dal punto 1 per ogni documento.
>
> In questo modo sei al riparo da quasi tutti i problemi...
>
> Ciao.
> --
> Sergio MAZZA
Dite così
Set oWord = New Word.Application
Set oDoc = oWord.Documents.Open(nomefile)
For f = 1 To UBound(strArray)
Set oDoc = oWord.Documents.Open(nomefile)
 nomefile = strArray(0) & "\" & strArray(f)
oDoc.PrintOut
NEXT F
DoEvents
    oDoc.Close (False)
    Set oDoc = Nothing



title: errore di run time 5273

text:
budemar...@libero.it
 ha scritto:

In verità ho anche un problemino nell'ordine di stampa l'ultimo file
lo stampa per primo


title: errore di run time 5273

text:
<
budem...@libero.it
> ha scritto nel messaggio
news:1166457361.6...@j72g2000cwa.googlegroups.com...
Dite cosě
Set oWord = New Word.Application
Set oDoc = oWord.Documents.Open(nomefile)
For f = 1 To UBound(strArray)
Set oDoc = oWord.Documents.Open(nomefile)
 nomefile = strArray(0) & "\" & strArray(f)
oDoc.PrintOut
NEXT F
DoEvents
    oDoc.Close (False)
    Set oDoc = Nothing
msgbox ("Fine Stampa")
[risposta]
Meglio se cosě:
'---
on error goto errori
Set oWord = New Word.Application
For f = 1 To UBound(strArray)
    nomefile = strArray(0) & "\" & strArray(f)
    oWord.PrintOut FileName:= nomefile, Background:=True
NEXT F
Do
    DoEvents
    If oWord.BackgroundPrintingStatus = 0 Then
        Exit Do
    End If
Loop
oWord.Quit false
Set oWord = nothing
msgbox "Fine Stampa"
exit sub
errori:
    set oWord = nothing
    msgbox err.number & " " & application.accesserror(err.number)
'---
Non c'č bisogno di istanziare un oggetto Document se devi solo stamparlo; lo
fai direttamente dall'oggetto Application utilizzando sempre il metodo
PrintOut.
Prima di chiudere l'applicazione, fai un test per vedere se word ha ancora
in coda qualche file (oWord.BackgroundPrintingStatus)...
Ciao.
--
Sergio MAZZA


title: errore di run time 5273

text:
E' sorto un problema mi stampa l'ultimo documento al posto del
primo.....!!???
Qualcuno sa dirmi il perchè????
CIAO


title: errore di run time 5273

text:
<
budem...@libero.it
> ha scritto nel messaggio
news:1166536930....@n67g2000cwd.googlegroups.com...
E' sorto un problema mi stampa l'ultimo documento al posto del
primo.....!!???
Qualcuno sa dirmi il perchč????
CIAO
[risposta]
L.I.F.O. (Last In First Out)?
Mettili in ordine contrario...
Ciao.
--
Sergio MAZZA


title: errore di run time 5273

text:
Sergio MAZZA ha scritto:
> <
budem...@libero.it
> ha scritto nel messaggio
> news:1166536930....@n67g2000cwd.googlegroups.com...
>
> E' sorto un problema mi stampa l'ultimo documento al posto del
> primo.....!!???
> Qualcuno sa dirmi il perchè????
>
> CIAO
>
> [risposta]
> L.I.F.O. (Last In First Out)?
>
 [Risposta]
Non riesco a trovare esempi che riguardano questo metodo...
Mi potresti fare unn esempio
grazie


title: errore di run time 5273

text:
<
budem...@libero.it
> ha scritto nel messaggio
news:1166612762.2...@48g2000cwx.googlegroups.com...
Non riesco a trovare esempi che riguardano questo metodo...
Mi potresti fare unn esempio
grazie
[risposta]
http://it.wikipedia.org/wiki/LIFO
Ti indicavo un possibile perché l'ultimo file inviato è il primo ad essere
stampato.
La soluzione potrebbe (è chiaramente da provare) essere quella di invertire
l'ordine di stampa dei file...
Ciao.
--
Sergio MAZZA


title: errore di run time 5273

text:
nomefile = strArray(0) & "\" & strArray(f)
    oWord.PrintOut FileName:= nomefile, Background:=True
--------Errore run time 4605
NEXT F
Do
    DoEvents
    If oWord.BackgroundPrintingStatus = 0 Then
        Exit Do
    End If
Loop
oWord.Quit false
Set oWord = nothing
msgbox "Fine Stampa"
exit sub
errori:
    set oWord = nothing
    msgbox err.number & " " & application.accesserror(err.number)
Con il codice suggerito da te mi da questo errore
Ciao


title: errore di run time 5273

text:
<
budem...@libero.it
> ha scritto nel messaggio
news:1166620206....@73g2000cwn.googlegroups.com...

Su quale riga?
Prova ad andare in "debug mode" e verificare che nomeFile sia valorizzata
prima del PrintOut...
Ciao.
--
Sergio MAZZA


title: errore di run time 5273

text:
Sergio MAZZA ha scritto:
risposta
 oWord.PrintOut FileName:= nomefile, Background:=True (su questa riga)
prima del printout è visualizzato sia il percorso che il nome del file
 ciao


title: errore di run time 5273

text:
<
budem...@libero.it
> ha scritto nel messaggio
news:1166623728.4...@a3g2000cwd.googlegroups.com...
 oWord.PrintOut FileName:= nomefile, Background:=True (su questa riga)
prima del printout č visualizzato sia il percorso che il nome del file
 ciao
[risposta]
Prova:
 oWord.PrintOut FileName:= nomefile, Background:=-1
Ciao.
--
Sergio MAZZA


title: errore di run time 5273

text:
Sergio MAZZA ha scritto:
> <
budem...@libero.it
> ha scritto nel messaggio
> news:1166623728.4...@a3g2000cwd.googlegroups.com...
>
>
>  oWord.PrintOut FileName:= nomefile, Background:=True (su questa riga)
>
> prima del printout è visualizzato sia il percorso che il nome del file
>  ciao
>
> [risposta]
> Prova:
>  oWord.PrintOut FileName:= nomefile, Background:=-1
>
> Ciao.
>
> --
> Sergio MAZZA
risposta
Mi da un msgbox con errore 4605
L'altro mio codice funziona ma come dicevi è instabile infatti molte
volte rimangono aperte sessioni word e il sistema si imballa.Inoltre se
stampo molte lettere mi dice memoria insufficente...Dovrei riuscire a
dare un tempo di stampa tra un documento e l'altro.....
che dici si può fare?
Ciao


title: errore di run time 5273

text:
<
budem...@libero.it
> ha scritto nel messaggio
news:1166685126.7...@80g2000cwy.googlegroups.com...
risposta
Mi da un msgbox con errore 4605
L'altro mio codice funziona ma come dicevi è instabile infatti molte
volte rimangono aperte sessioni word e il sistema si imballa.Inoltre se
stampo molte lettere mi dice memoria insufficente...Dovrei riuscire a
dare un tempo di stampa tra un documento e l'altro.....
che dici si può fare?
Ciao
[risposta]
Dammi tempo per implementare il tuo esempio e ti faccio sapere in
giornata...
Ciao.
--
Sergio MAZZA


title: errore di run time 5273

text:
Sergio MAZZA ha scritto:
Grazie mille........


title: errore di run time 5273

text:
<
budem...@libero.it
> ha scritto nel messaggio
news:1166685126.7...@80g2000cwy.googlegroups.com...
risposta
Mi da un msgbox con errore 4605
L'altro mio codice funziona ma come dicevi è instabile infatti molte
volte rimangono aperte sessioni word e il sistema si imballa.Inoltre se
stampo molte lettere mi dice memoria insufficente...Dovrei riuscire a
dare un tempo di stampa tra un documento e l'altro.....
che dici si può fare?
Ciao
[risposta]
Allora; ho scaricato l'esempio di Alessandro BARALDI
(
http://www.alessandrobaraldi.it/DettaglioFaq.asp?IdFAQ=27
) e l'ho
modificato inserendoci le istruzioni che ti interessano.
Devi modificare la routine evento "su clic" del bottone cmdTest; tra le
righe:
...
If baOfficeGetFileName(gfni, Me.grpMode) = bacAccErrSuccess Then
e
End if
scrivi:
        Dim oWord As Object
        Set oWord = CreateObject("Word.Application")
        oWord.Documents.Add
        Dim arrFile() As String, numFile As Integer
        arrFile = Split(Trim(gfni.strFile), Chr$(9), , vbBinaryCompare)
        For numFile = 0 To UBound(arrFile)
            oWord.PrintOut FileName:=arrFile(numFile), background:=True
            If oWord.backgroundprintingstatus > 10 Then
                Do
                    DoEvents
                    If oWord.backgroundprintingstatus = 0 Then
                        Exit Do
                    End If
                Loop
            End If
        Next
        oWord.Quit False
        Set oWord = Nothing
        MsgBox "Fine Stampa"
e in:
    HandleErrors:
inserisci:
    If IsObject(oWord) Then
        oWord.Quit False
    End If
    Set oWord = Nothing
...
Sulla form devi mettere la spunta su: Allow Multi-Select.
Comunque l'istruzione di prima ti presentava errore perché non era caricato
nessun documento; si risolve caricando un foglio bianco prima del printout:
es.
oWord.Documents.Add
oWord.PrintOut FileName:=arrFile(numFile), background:=True
Fammi sapere...
Ciao.
--
Sergio MAZZA


title: errore di run time 5273

text:
Sergio MAZZA ha scritto:
> <
budem...@libero.it
> ha scritto nel messaggio
> news:1166685126.7...@80g2000cwy.googlegroups.com...
>
> risposta
Cosi mi funziona
Dim strArray() As String
Dim WordObj As Object
Dim f As Integer
 Dim strTest As String
Dim nomefile As Variant
   strTest = cmdlg_file
   strArray = Split(strTest, Chr$(0))
   For f = 1 To UBound(strArray)
Debug.Print Trim(strArray(f))
DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO tabella1(nominativo) VALUES ('" &
Trim(strArray(f)) & "')"
DoCmd.SetWarnings True
nomefile = strArray(0) & "\" & strArray(f)
      Set WordObj = CreateObject("Word.Application")
      WordObj.Documents.Open (nomefile)
      WordObj.PrintOut Background:=False
      WordObj.Quit SaveChanges:=wdDoNotSaveChanges
      Set WordObj = Nothing
Next f

  End Sub
ciao grazie


title: Formato percorso tabelle collegate

author: Sandrobi

text:
In genere utilizzo come percorso per le tabelle collegate il formato UNC
(del tipo \\server\c\dati) anche se il BE risiede nel disco locale.
In genere non trovo problemi ma in qualche caso mi è capitato che problemi
di abnorme rallentamento in  lettura di dati o apertura di maschere si è
risolto mettendo il percorso con la lettera di unità (C:\dati).
Esiste un problema del genere o è una coincidenza? E' corretto usare il
percorso UNC anche per il disco locale?
--
Ciao, Sandrobi
------------------
Se la tua email è fasulla, ti invito a leggere qui:
http://wiki.news.nic.it/AntiSpam


title: Formato percorso tabelle collegate

author: MA

text:
Sandrobi wrote:
> In genere utilizzo come percorso per le tabelle collegate il formato
> UNC (del tipo \\server\c\dati) anche se il BE risiede nel disco
> locale.
> In genere non trovo problemi ma in qualche caso mi è capitato che
> problemi di abnorme rallentamento in  lettura di dati o apertura di
> maschere si è risolto mettendo il percorso con la lettera di unità
> (C:\dati).
> Esiste un problema del genere o è una coincidenza? E' corretto usare
> il percorso UNC anche per il disco locale?
Una volta condivisa la cartella dove risiede il server io assegno una unità
di rete
uguale per tutti compreso il client che ospita fisicamente il BE.
Utilizzo sempre una lettera "alta" (dalla M in poi) per essere sicuro che se
il client anche avesse
un Hub usb difficilmente ha la stessa lettera assegnata.
--
_ _
Ciao
MAssimiliano Amendola
www.accessgroup.it
Cisa - Conferenza Italiana per Sviluppatori Access
Info:
www.donkarl.com/it


title: Formato percorso tabelle collegate

text:
> > In genere utilizzo come percorso per le tabelle collegate il formato
> > UNC (del tipo \\server\c\dati) anche se il BE risiede nel disco
> > locale.
> > In genere non trovo problemi ma in qualche caso mi è capitato che
> > problemi di abnorme rallentamento in  lettura di dati o apertura di
> > maschere si è risolto mettendo il percorso con la lettera di unità
> > (C:\dati).
> > Esiste un problema del genere o è una coincidenza? E' corretto usare
> > il percorso UNC anche per il disco locale?
>
> Una volta condivisa la cartella dove risiede il server io assegno una
unità
> di rete
> uguale per tutti compreso il client che ospita fisicamente il BE.
> Utilizzo sempre una lettera "alta" (dalla M in poi) per essere sicuro che
se
> il client anche avesse
> un Hub usb difficilmente ha la stessa lettera assegnata.
> MAssimiliano Amendola
www.accessgroup.it
Ma usare il percorso \\ può dare problemi. Io lo uso perché mi è capitato
spesso che al riavvio la lettera non viene riassegnata e quindi il percorso
non viene trovato. Con il percorso \\ il BE viene sempre trovato.
Ciao
Sandrobi


title: Formato percorso tabelle collegate

author: Oscar Manfredini

text:
"Sandrobi" <
sand...@libero.it
> ha scritto nel messaggio
news:4394cadc$0$16207$4faf...@reader3.news.tin.it...
> In genere utilizzo come percorso per le tabelle collegate il formato UNC
> (del tipo \\server\c\dati) anche se il BE risiede nel disco locale.
> In genere non trovo problemi ma in qualche caso mi è capitato che problemi
> di abnorme rallentamento in  lettura di dati o apertura di maschere si è
> risolto mettendo il percorso con la lettera di unità (C:\dati).
> Esiste un problema del genere o è una coincidenza? E' corretto usare il
> percorso UNC anche per il disco locale?
Non giurerei si tratti di una coincidenza:
http://support.microsoft.com/?id=834350
http://support.microsoft.com/?kbid=889588
E' verosimile supporre che problemi del genere esistano anche in monoutenza.
Ciao.


title: Formato percorso tabelle collegate

text:
"Oscar Manfredini" <
os...@nospam.it
> ha scritto nel messaggio
news:43958ec1$0$7322$4faf...@reader4.news.tin.it...

Ti ringrazio per il materiale.
Sono tutte cose che non volevo sapere! Se per ottimizzare un database
bisogna guardare tutte queste cose, è peggio che andare di notte!
Mi basta la proprietà "Nome foglio dati secondario" e "usare le unità
mappate invece del percorso UNC" per mandarmi in crisi!
Il mio caso è proprio di BE convertito da A97 a A00 che gira su pc Win2000 e
WinXP.
Con A2003 sai se può andar meglio o come al solito si fa un passo avanti e
uno indietro?
Ciao.
Sandrobi


title: Formato percorso tabelle collegate

text:
"Sandrobi" <
> Ti ringrazio per il materiale.
> Sono tutte cose che non volevo sapere! Se per ottimizzare un database
> bisogna guardare tutte queste cose, è peggio che andare di notte!
> Mi basta la proprietà "Nome foglio dati secondario" e "usare le unità
> mappate invece del percorso UNC" per mandarmi in crisi!
> Il mio caso è proprio di BE convertito da A97 a A00 che gira su pc Win2000
e
> WinXP.
> Con A2003 sai se può andar meglio o come al solito si fa un passo avanti e
> uno indietro?
Beh, il problema riguarda più windows che Jet e nei links che ho postato
vengono proposte soluzioni.
Nel caso di Win XP poi (la realese più diffusa) il S.P. 2 dovrebbe
risolvere.
Ciao.


title: Conteggio record

author: Elsis

text:
Ho una tabella come questa indicata:
Data            Id Movimento
01/01/01            1
02/01/01            1
05/01/01            2
06/01/01            3
07/01/01            3
12/01/01            3
Mi occorre creare una query in cui aggingere un campo ("conta movimenti")
che mi indichi il numero di movimenti relativi ad ogni Id Movimento. Faccio
un esempio per essere più chiaro:
Data            Id Movimento        Conta
01/01/01            1                        2
02/01/01            1                        2
05/01/01            2                        1
06/01/01            4                        3
07/01/01            4                        3
12/01/01            4                        3
Ovvero: Ci sono 2 campi IdMovimento 1, un campo IdMovimento 2 e tre campi
IdMovimento 3. E' necessario che il tutto sia indicato come vedere sopra.
Mi potete dare una mano?. Grazie della Vs. disponibilità
Ciao a tutti


title: Conteggio record

author: namor

text:
Elsis ha scritto:

Ti servono due query.
La prima prenderà i dati dalla tabella, imposti un raggruppamento in base
a ID movimento e conteggio su ID movimento, la salvi con un nome a tua
scelta.
Nella seconda usi la tabella e la prima query messe in relazione tramite
il campo ID movimento, selezioni tutti i campi dalla tabella e il campo
conteggio dalla query.
Namor
--
namor at inwind punto it
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news
 segnala gli abusi ad
ab...@newsland.it


title: Conteggio record

author: 'gnurant

text:
Non so se ti convenga o meno creare un campo conta, comunque se esegui la
query seguente, ti vengono contati i vari movimenti
SELECT Tabella.Movimento, Count(Tabella.Movimento) AS conta
FROM Tabella
GROUP BY Tabella.movimento;
Ciauz
--
'gnurant come una cucuzza
Inviato da
www.mynewsgate.net


title: Conteggio record

text:
namor ha scritto:
> Elsis ha scritto:


Dimenticavo:
lo puoi fare anche con un'unica query che prenda tutti i campi della
tabella e a cui aggiungerai un campo calcolato con la formula
conteggio:dcount("[ID movimento]","nometabella","[ID movimento]=" & [ID
movimento])
Questo sistema è più lento del precedente, ma se nella tabella hai pochi
record non ti accorgi della differenza.



title: Conteggio record

author: Antonio Biso

text:
"Elsis" <
el...@virgilio.it
> ha scritto nel messaggio
news:usMnc.231795$rM4.9...@news4.tin.it...

DCount("*";"Tuatab";"[ID Movimento] = " & [ID Movimento])
Antonio


title: Conteggio record

text:
"Elsis" <
el...@virgilio.it
> ha scritto nel messaggio
news:usMnc.231795$rM4.9...@news4.tin.it...

Vi ringrazio tutti per la celerità impressionante.
Ciao


title: Aiuto, compilazione automatica campi

author: niki

text:
Ciao a tutti.
Ho creato un database e sono bloccato. Ho una tabella A in cui vengono
registrate delle operazioni contabili, una tabella B con i nomi dei clienti.
Messe in relazione in modo che nella maschera posso selezionare il cliente
tra quelli esistenti (tabella B). Vorrei a questo punto poter fare in modo
che per alcuni clienti una volta che li seleziono dal menu a tendina nella
maschera si compilassero automaticamente gli altri campi. Per esempio per
quei clienti che pagano un affitto, e quindi l'operazione si ripete sempre
identica ogni mese.
Pensavo quindi di fare una tabella che contiene i dati delle operazioni
"ripetitive" per cui avendo per esempio i clienti rossi, bianchi, e verdi e
tra questi bianchi e' quello che paga sempre la stessa cifra, quando compilo
la maschera se seleziono rossi o verdi procedo nella compilazione dei campi
manualmente, se invece seleziono verdi gli altri campi si riempiono
automaticamente pescando dalla tabella C con le operazioni "ripetitive".
E' possibile?
Inoltre, e qui viene il difficile (per me) vorrei evitare che la
compilazione dei campi manualmente modificasse oltre alla tabella A anche la
C e tenermi la possibilità di compilare anche i campi per verdi manualmente
se dovesse capitare che questo paga una cifra diversa per motivi diversi da
quelli della tabella c.
Non so se mi sono spiegato bene, spero che mi possiate dare una mano.
grazie


title: Aiuto, compilazione automatica campi

text:
"niki" <maga...@hotTTTmail.com> ha scritto nel messaggio
news:aqtans$1adsd$1...@news02.it.net...
> Ciao a tutti.
> Ho creato un database e sono bloccato. Ho una tabella A in cui vengono
> registrate delle operazioni contabili, una tabella B con i nomi dei
clienti.
> Messe in relazione in modo che nella maschera posso selezionare il cliente
> tra quelli esistenti (tabella B). Vorrei a questo punto poter fare in modo
> che per alcuni clienti una volta che li seleziono dal menu a tendina nella
> maschera si compilassero automaticamente gli altri campi. Per esempio per
> quei clienti che pagano un affitto, e quindi l'operazione si ripete sempre
> identica ogni mese.
> Pensavo quindi di fare una tabella che contiene i dati delle operazioni
> "ripetitive" per cui avendo per esempio i clienti rossi, bianchi, e verdi
e
> tra questi bianchi e' quello che paga sempre la stessa cifra, quando
compilo
> la maschera se seleziono rossi o verdi procedo nella compilazione dei
campi
> manualmente, se invece seleziono verdi gli altri campi si riempiono
> automaticamente pescando dalla tabella C con le operazioni "ripetitive".
> E' possibile?
La tua situazione è riconducibile al solito problema di riportare le info di
un record dopo averlo selezionato mediante una combo.
Senza usare un'altra tabella (ma potresti anche farlo, con una situazione 1
a 1, se vuoi distinguere la tipologia delle informazioni), aggiungi i campi
legati alle info ripetitive. La tua combo avrà come origine riga una query
sulla tabella con i campi che desideri poi riportare nelle textbox. Il
numero colonne sarà quello opportuno, la dimensione colonne sarà qualcosa
tipo 3;0;0;0 in modo da non far vedere nella combo le info aggiuntive.
Al dopo aggiornamento della combo farai da codice
text1 = combo.column(1)
...
textn = combo.column(n)
> Inoltre, e qui viene il difficile (per me) vorrei evitare che la
> compilazione dei campi manualmente modificasse oltre alla tabella A anche
la
> C e tenermi la possibilità di compilare anche i campi per verdi
manualmente
> se dovesse capitare che questo paga una cifra diversa per motivi diversi
da
> quelli della tabella c.
A questo punto se l'utente cancella i dati riportati automaticamente questo
non impatta sui valori salvati nella tabella originale.
Ah... ovviamente è il caso che tu prepari una maschera modifica anagrafica
cliente in cui metti anche le info ripetitive cosicchè se ti serve di
cambiare queste info, lo fai da maschera...
Antonio


title: usare instr nel modo corretto

author: mario rossi

text:
buongiorno a tutti

con l'istruzione
If InStr(gruppi, me.gruppo) > 0 Then
   fai A
else
  fai B
end if

controllo se nella stringa gruppi appare il numero indicato in me.gruppo
eseguo A altrimenti eseguo B

gruppi vale1,8,9,10
me.gruppo vale 1

anche se tolgo il numero 1 da gruppi mi trova il numero 1 all'interno del 10 e quindi instr risulta maggiore di zero ed esegue A anche se tolto il numero 1

come potrei evitare questo effetto collaterale?


title: usare instr nel modo corretto

author: BFS

text:

soluzione 1

If InStr(gruppi & ",", me.gruppo & ",") > 0 Then
    fai A
else
   fai B
end if

soluzione 2 se non attuabile la 1

usi spit per crearti un array con i vari valori
e poi cerchi il tuo valore nell'array

BFS


title: usare instr nel modo corretto

author: Ammammata

text:
Il /26 Sep 2022/, *BFS* ha scritto:

> soluzione 1
>
> If InStr(gruppi & ",", me.gruppo & ",") > 0 Then
>     fai A
> else
>    fai B
> end if
>
>

questa non funziona se cerca "10", a meno che in gruppi anche l'ultimo
numero sia seguito da una virgola

--
/-\ /\/\ /\/\ /-\ /\/\ /\/\ /-\ T /-\
-=- -=- -=- -=- -=- -=- -=- -=- - -=-


title: usare instr nel modo corretto

text:
Il 26/09/2022 09:04, Ammammata ha scritto:
> Il /26 Sep 2022/, *BFS* ha scritto:
>
>> soluzione 1
>>
>> If InStr(gruppi & ",", me.gruppo & ",") > 0 Then
>>      fai A
>> else
>>     fai B
>> end if
>>
>>
>
> questa non funziona se cerca "10", a meno che in gruppi anche l'ultimo
> numero sia seguito da una virgola
>
>

a gruppi la aggiungo io la virgola se guardi bene il codice che ho scritto


title: usare instr nel modo corretto

text:
Il /26 Sep 2022/, *BFS* ha scritto:

> a gruppi la aggiungo io la virgola se guardi bene il codice che ho
> scritto
>

vero :(



title: usare instr nel modo corretto

text:

grazie a entrambi, proverò questa soluzione, mentre attendevo risposta ho pensato di fare una tabella collegata 1 a molti con campo gruppo intero a quel punto con una query ho ottenuto
nomeform, controllo, gruppo
nomeform, controllo, gruppo
nomeform, controllo, gruppo
nomeform, controllo, gruppo

e analizzata con dcount, ma potrei aver rallentato il codice


title: usare instr nel modo corretto

author: PhilCattivocarattere

text:
Il giorno martedì 27 settembre 2022 alle 01:25:04 UTC+2
tmtu...@gmail.com
 ha scritto:
...
> e analizzata con dcount, ma potrei aver rallentato il codice
Bisognerebbe capire da dove deriva la costruzione di "gruppi" che assume valore "1,8,9,10", cioè se è possibile modificarne la costruzione. Per usare InStr senza patemi dovresti racchiudere sempre ogni elemento tra due virgole, primo ed ultimi compresi, facendo quindi diventare gruppi ",1,8,9,10," in questo modo sei sicuro che se cerchi "," & numero & "," non ci possono essere fraintendimenti.

In una situazione del genere, per gestire un elenco di valori ho usato una collection (poi avevo anche una textbox che ne rappresentava il contenuto sotto forma di "primoelemento, secondoelemento, terzoelemento, ... ultimoelemento" ) e con quella la ricerca è inequivocabile visto che ogni valore è un elemento. Simile all'uso dell'array ma puoi cercare per valore e non sei costretto a passare l'intero array per vedere se c'è quello che interessa.


title: Estrazione nomi query

text:
Ciao a tutti, avevo gią postato l'anno scorso ma ahimč ho perso tutto il
mio HD.
Ci riprovo: avrei bisogno di estrarre la lista delle query e delle tabelle
di un .mdb
Uno di voi mi aiutņ postando la sintassi sql (soprattutto i nomi delle
tabelle di sitema di access) per estrarre ciņ che cerco.
Qlc ricorda?
Grazie, buon lavoro 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: Estrazione nomi query

author: Roberto da casa

text:
"a_____a" <a__...@LIEVEMEwappi.com> ha scritto nel messaggio
news:c60389$6da$1...@news.newsland.it...
> Ciao a tutti, avevo gią postato l'anno scorso ma ahimč ho perso tutto il
> mio HD.
>
> Ci riprovo: avrei bisogno di estrarre la lista delle query e delle tabelle
> di un .mdb
> Uno di voi mi aiutņ postando la sintassi sql (soprattutto i nomi delle
> tabelle di sitema di access) per estrarre ciņ che cerco.
> Qlc ricorda?
>
> Grazie, buon lavoro a tutti.
>
Vai sul Sito Comune (link qui sotto) e nella Sezione General leggi la FAQ di
Alessandro Baraldi intitolata "Tecniche per ottenere l'elenco degli oggetti
del database".
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


title: Estrazione nomi query

text:
[...]
..fatto! mille grazie.
saluti.



title: A2000: collegamenti con word

author: sdamy

text:
Salve a tutti,
ho notato che collegando documenti word ad un report aumentano in modo
spropositato le dimensioni dell'MDB. Esiste qualche modo per ovviare a
questo aumento di dimensione?
grazie
sdamy


title: A2000: collegamenti con word

author: Andrea

text:
forse puoi provare ad impostare la compattazione automatica del database
access su chiusura
questa opzione la trovi sul pannello tools---options.
"sdamy" <
sd...@tiscalinet.it
> ha scritto nel messaggio
news:yLFT6.12339$Cq3.1...@news2.tin.it...



title: A2000: collegamenti con word

text:
grazie ma la compattazione non risolve il problema...
MDB senza word collegato:                         1,5 Mb
MDB con due report aventi 2 .doc collegati: 4 Mb
Andrea <
aman...@infinito.it
> wrote in message
9fnh2u$qio$1...@nreadA.inwind.it...



title: aprire una seconda maschera in modalità nascosta

author: Alberto Luzi

text:
Salve!
vorrei aprire una maschera dopo averne aperta un'altra
in modalità nascosta e che poi si chiuda automaticamente
quando chiudo la maschera visibile

Grazie


text:

https://learn.microsoft.com/en-us/office/vba/api/access.docmd.openform

vedi il parametro WindowsMode

https://learn.microsoft.com/en-us/office/vba/api/access.acwindowmode

nel tuo caso
acHidden

BFS


text:

grazie