title: Info su Programma di Fatturazione

text:
"Matteo" <
mat...@oldamerika.com
> ha scritto nel messaggio
> Sicuramente con queste risposte aiuti i neofiti....GRAZIE MILLE
sicuramente
> ora sarò in grado di fare tutto...
Cut
Guarda che e' esattamente cosi' che si aiuta un neofita.
Tu hai posto una domanda, come ti dicevo, provocatoria.
Se leggerai qualcuno dei messaggi di questo NG ti renderai conto di cosa
intendo.
Non si puo' venire a chiedere "come faccio questa applicazione?" cosi', non
perche' ci siano problemi strani, ma per il semplice fatto che fare una
applicazione richiede, prima di tutto, una approfondita analisi.
Nessuno puo' dirti cosa devi fare senza conoscere a fondo il tuo problema.
Inoltre, anche trattandosi di argomento trito e ritrito, non si puo'
mettersi qui a spiegare come devi fare tabelle, relazioni, maschere, ecc
ecc.
Qui puoi chiedere tranquillamente aiuto su come risolvere specifici
problemi.
Molte delle persone che frequentano questo NG sono professionisti del
settore che mettono a disposizione la loro esperienza a titolo
esclusivamente gratuito.
Infine il mio suggerimento, come opportunamente ti diceva Trap, e'
tutt'altro che vago. Ti ho dato una indicazione precisa sul come cominciare,
e non credere che sapere, piu' o meno, come si fanno bolle e fatture sia
sufficiente, devi sapere esattamente come funzionano, come movimentano il
magazzino, cosa e' obbligatorio e cosa no.
In libreria puoi trovare diversi libri su access e sui database in generale,
a parte quelli recensiti sul sito comune, ne ho visto uno interessante che
ho intensione di comprare dal titolo "Come implementare correttamente un
database" che, pur non facendo riferimenti tecnici approfonditi sulla
realizzazione di un database (anche se prende come modello Access) spiega
tutti quelli che sono i passaggi da seguire *prima* di iniziare a realizzare
il db vero e proprio, cioe' insegna a fare l'analisi preliminare (che non e'
certo cosa da poco).
Molti newbye credono che fare un db significhi mettersi al pc a scrivere
codice ma non e' cosi', almeno meta' del lavoro si fa prima pensando a come
deve essere fatta la struttura.
Ma ora mi sono dilungato veramente troppo e non vorrei che questa mia
sembrasse una giustificazione per qualcosa.
Ti saluto
Sib
--
----------------------------------------------------
la mia home:
http://digilander.iol.it/syb
----------------------------------------------------
il sito comune di it.comp.database.access:
http://www.sitocomune.com
----------------------------------------------------
4000 anni fa', il saggio egizio Ptahhotep scrisse:
"... perche' non esistono saggi per nascita."
------------------------------------------------------
Saturiamo ECHELON:
bomba saddam attentato medio oriente
--
----------------------------------------------------
la mia home:
http://digilander.iol.it/syb
----------------------------------------------------
il sito comune di it.comp.database.access:
http://www.sitocomune.com
----------------------------------------------------
4000 anni fa', il saggio egizio Ptahhotep scrisse:
"... perche' non esistono saggi per nascita."
------------------------------------------------------
Saturiamo ECHELON:
bomba saddam attentato medio oriente


title: Info su Programma di Fatturazione

author: Sib dall'ufficio

text:
"Sib dal portatile" <
sibN...@iol.it
> ha scritto nel messaggio
CUT
> ho intensione di comprare dal titolo "Come implementare correttamente un
CUT
Mi e' scappata una s al posto della z
Chiedo scusa.
Sib


title: Info su Programma di Fatturazione

author: Emyr

text:
On Wed, 19 Dec 2001 22:38:15 GMT, "Sib dal portatile"
<
sibN...@iol.it
> wrote:
CUT
>Molti newbye credono che fare un db significhi mettersi al pc a scrivere
>codice ma non e' cosi', almeno meta' del lavoro si fa prima pensando a come
>deve essere fatta la struttura.
>Ma ora mi sono dilungato veramente troppo e non vorrei che questa mia
>sembrasse una giustificazione per qualcosa.
>Ti saluto
>
>Sib
questo è certamente vero, anche se spesso capita che nemmeno il
cliente sappia cosa gli serve o che man mano che utilizza un programma
gli vengano in mente nuove esigenze che ti sconvolgono la struttura
dati. Sigh.
A volte in sede di analisi risulta necessario indirizzare o chiarire
alcuni aspetti al cliente.
Ciao Emanuele.


title: Info su Programma di Fatturazione

author: Sib dal portatile

text:
"Emyr" <
fan...@lavoro.com
> ha scritto nel messaggio
> On Wed, 19 Dec 2001 22:38:15 GMT, "Sib dal portatile"
CUT
> >Molti newbye credono che fare un db significhi mettersi al pc a scrivere
> >codice ma non e' cosi', almeno meta' del lavoro si fa prima pensando a
come
> >deve essere fatta la struttura.
CUT
> questo è certamente vero, anche se spesso capita che nemmeno il
> cliente sappia cosa gli serve o che man mano che utilizza un programma
> gli vengano in mente nuove esigenze che ti sconvolgono la struttura
> dati. Sigh.
Vero, ma fa parte del gioco e va messo in preventivo prima.
> A volte in sede di analisi risulta necessario indirizzare o chiarire
> alcuni aspetti al cliente.
Anche questo e sempre vero (altro che "a volte"), ma cio' non fa altro che
dar forza al discorso di pensare bene prima di mettere mano al PC
> Ciao Emanuele.
Ciao e auguri
Sib


title: Caselle combinate associate in gerarchia, sincronizzazione

text:
Ciao a tutti, il mio problema č questo: nell'inserimento dei dati funziona tutto correttamente, ma nella visualizzazione la seconda casella combinata mostra dei dati errati poichč sembra che "memorizzi" il primo dato della prima casella combinata. Ho provato a fare come dice "3.77 Sincronizzare in una maschera due o piů caselle combinate ASSOCIATE tra loro in gerarchia" sul sitocomune, solo che non riesco a capire cosa fare e dove farlo. Non sono un esperto di access, quindi alcune cose sono per me un mistero.
Grazie Mille per l'attenzione.
--
marco_milano
------------------------------------------------------------------------
View this thread:
http://www.itsistemi.net/viewtopic-822275.html
Inviato via
http://www.itsistemi.net


title: OpenQuery

author: AMR

text:
Ciao  a tutti
Ho questo problema :
Ho bisogno di aprire una query di selezione tramite un pulsante di comando
situato
in una maschera
e visualizzare solo i record che corrispondono all' IDordine  inserito in
una caella di testo
non associata , a tal proposito ho copiato dal sito comune le istruzioni di
Silvestrini Nazzareno nella sezione reports  4.9 "Come ottenere un report
pronto per la
stampa con i record filtrati da una maschera"
Questa č la prima parte dell'istruzione adattata e funziona :
DoCmd.ApplyFilter "",
"[IDordine]=[Forms]![Quadro_stampa_etichette]![Nlista]"
If IsNull(IDOrdine.Value) Then
   MsgBox ("Non esistono Record!"), vbOKOnly
   DoCmd.ShowAllRecords
   Me.Seleziona.SetFocus
Questa č la seconda parte dell'istruzionee funziona per il report:
Dim strFilter As String
If Me.FilterOn Then
   strFilter = Me.Filter
End If
DoCmd.OpenReport ReportName:="MIOREPORT", View:=acPreview,
WhereCondition:=strFilter
ExitHere:
   Exit Sub
HandleErrors:
   Select Case Err.Number
      Case 2501
         MsgBox "There are no rows to display!"
      Case Else
         MsgBox Err.Description
   End Select
   Resume ExitHere
Cosě funziona per il report ,
ho fatto alcune modifiche
ma non ci riesco a farla funzionare per aprire la query, cioč mi apre la
query
ma non mi filtra i record.
Come devo Modificare l'istruzione sopra descritta ?
Grazie anticipato
Giuseppe


title: OpenQuery

author: Sergio MAZZA

text:
"AMR" <
amrma...@tin.it
> ha scritto nel messaggio
news:453e65d9$0$7638$4faf...@reader1.news.tin.it...
> Ciao  a tutti
>
> Ho questo problema :
>
> Ho bisogno di aprire una query di selezione tramite un pulsante di comando
> situato
> in una maschera
> e visualizzare solo i record che corrispondono all' IDordine  inserito in
> una caella di testo
> non associata , a tal proposito ho copiato dal sito comune le istruzioni
> di
> Silvestrini Nazzareno nella sezione reports  4.9 "Come ottenere un report
> pronto per la
> stampa con i record filtrati da una maschera"
>
> Questa è la prima parte dell'istruzione adattata e funziona :
>
> DoCmd.ApplyFilter "",
> "[IDordine]=[Forms]![Quadro_stampa_etichette]![Nlista]"
> If IsNull(IDOrdine.Value) Then
>   MsgBox ("Non esistono Record!"), vbOKOnly
>   DoCmd.ShowAllRecords
>   Me.Seleziona.SetFocus
>
> Questa è la seconda parte dell'istruzionee funziona per il report:
>
> Dim strFilter As String
> If Me.FilterOn Then
>   strFilter = Me.Filter
> End If
> DoCmd.OpenReport ReportName:="MIOREPORT", View:=acPreview,
> WhereCondition:=strFilter
> ExitHere:
>   Exit Sub
> HandleErrors:
>   Select Case Err.Number
>      Case 2501
>         MsgBox "There are no rows to display!"
>      Case Else
>         MsgBox Err.Description
>   End Select
>   Resume ExitHere
>
> Così funziona per il report ,
> ho fatto alcune modifiche
> ma non ci riesco a farla funzionare per aprire la query, cioè mi apre la
> query
> ma non mi filtra i record.
>
> Come devo Modificare l'istruzione sopra descritta ?
>
> Grazie anticipato
>
> Giuseppe
Il metodo OpenQuery (vedi help attivabile con ALT-F11, poi F1) non permette
il passaggio di parametri per filtrare i dati; devi inserire nella query
(riga Condizioni) il percorso e il nome del controllo:
es.
Forms!nomeForm!nomeControllo
Ciao.
--
Sergio MAZZA


title: on error go to...

author: Gio&Tin

text:
Vorrei sapere quale è la funzione/controllo/procedura generica, da inserire
in VB per essere sicuri di bypassa eventuali errori di debug.
Sempre grazie


title: on error go to...

author: Fabrizio Quercia

text:
"Gio&Tin" <
joeti...@libero.it
> ha scritto nel messaggio
news:lydC9.47548$8E3.1...@twister2.libero.it...

Ciao,
ti porto un esempio:
--------------------------
private sub Button_Click()
On Error Goto ErroreClick (fa riferim. a ErroreClick:)
..Esegui il tuo codice solito...
ErroreClick:
   Msgbox "Si è verificato un errore"
   resume next
End Sub
---------------------------------
ErroreClick: è un'etichetta all'interno della routine che viene richiamata
appunto ON ERROR GOTO :)
Ciao :)


title: on error go to...

author: Fabio Chiaro

text:
"Gio&Tin" <
joeti...@libero.it
> ha scritto nel messaggio
news:lydC9.47548$8E3.1...@twister2.libero.it...
> Vorrei sapere quale č la funzione/controllo/procedura generica, da
inserire
> in VB per essere sicuri di bypassa eventuali errori di debug.
> Sempre grazie
>
>
Oltre all'esempio generico di Fabrizio, se vuoi puoi mettere direttamente On
Error Resume Next prima di un gruppo di istruzioni cosě arriva sempre e
comunque alla fine della routine senza darti nessun messaggio.
Ciao, FABIO


title: on error go to...

text:
"Fabio Chiaro" <
nospam_fa...@tin.it
> ha scritto nel messaggio
news:WNmC9.15066$Ka3.4...@twister1.libero.it...
>
> Oltre all'esempio generico di Fabrizio, se vuoi puoi mettere direttamente
On
> Error Resume Next prima di un gruppo di istruzioni così arriva sempre e
> comunque alla fine della routine senza darti nessun messaggio.
Certo :)
il mio esempio era per far capire che utilizzando l'etichetta puo' inserire
ulteriore codice all'interno di quell'etichetta stessa...ino modo che se nn
va il porto la routine prima, ne puo' far eseguire un'altra :)
Esempio:
------------------------------------------------
Private Sub Button_Click()
On Error Goto ErroreClick
'Routine di esempio
RunSql = "SELECT * FROM Tabella"
ErroreClick:
RunSql = "SELECT * FROM Tabella 2"
ecc...ecc..
End Sub
-------------------------------------------
Ciao :)))


title: on error go to...

text:
"Fabrizio Quercia" <
fabrizi...@tin.it
> ha scritto nel messaggio
news:53nC9.26779$744.9...@news1.tin.it...
>
> Certo :)
Ti sei dimenticato il naso della "faccina"
>
> il mio esempio era per far capire che utilizzando l'etichetta puo'
inserire
> ulteriore codice all'interno di quell'etichetta stessa...ino modo che se
nn
> va il porto la routine prima, ne puo' far eseguire un'altra :)
Ma allora sei recidivo :---------)
>
> Esempio:
>
> ------------------------------------------------
> Private Sub Button_Click()
>
> On Error Goto ErroreClick
>
> 'Routine di esempio
>
> RunSql = "SELECT * FROM Tabella"
>
>
> ErroreClick:
> RunSql = "SELECT * FROM Tabella 2"
>
> ecc...ecc..
>
> End Sub
Non è corretto perchè con On Error abiliti un gestore degli errori che deve
chiudersi con un Resume; se non lo fai e si verifica un altro errore
nell'esecuzione della seconda query (nel tuo esempio), l'errore verrebbe
passato alla routine chiamante e in questo caso, visto che si tratta di un
pulsante, verrebbe generato un errore di runtime.
Fabio


title: on error go to...

text:
"Fabio Chiaro" <
nospam_fa...@tin.it
> ha scritto nel messaggio
news:JinC9.48591$8E3.1...@twister2.libero.it...
>
> Ti sei dimenticato il naso della "faccina"
:-)
>
> Ma allora sei recidivo :---------)
eccerto :)
> Non è corretto perchè con On Error abiliti un gestore degli errori che
deve
> chiudersi con un Resume; se non lo fai e si verifica un altro errore
Certo :) spero ce lo metta resume next
> nell'esecuzione della seconda query (nel tuo esempio), l'errore verrebbe
> passato alla routine chiamante e in questo caso, visto che si tratta di un
> pulsante, verrebbe generato un errore di runtime.
Ovviamente va il tutto adattato alla situazione :) a me gli errori non mi
vengono mai fuori.
Ciao.


title: on error go to...

text:
"Fabrizio Quercia" <
fabrizi...@tin.it
> ha scritto nel messaggio
news:GHnC9.26892$744.9...@news1.tin.it...
>
> Certo :) spero ce lo metta resume next
Si può mettere anche "Resume Etichetta"
>
> > nell'esecuzione della seconda query (nel tuo esempio), l'errore verrebbe
> > passato alla routine chiamante e in questo caso, visto che si tratta di
un
> > pulsante, verrebbe generato un errore di runtime.
>
> Ovviamente va il tutto adattato alla situazione :) a me gli errori non mi
> vengono mai fuori.
Azzardato....:-) e comunque ti è venuto fuori un errore grammaticale (non si
dice "a me mi")
>
> Ciao.
>
Ciao


title: on error go to...

text:
"Fabio Chiaro" <
nospam_fa...@tin.it
> ha scritto nel messaggio
news:5TnC9.15244$Ka3.4...@twister1.libero.it...
>
> Azzardato....:-) e comunque ti è venuto fuori un errore grammaticale (non
si
> dice "a me mi")
ntipatico :ppppppp
e cmq grazie per i suggerimenti
Ciao :))


title: on error go to...

text:
> Ciao,
> ti porto un esempio:
> --------------------------
> private sub Button_Click()
>
> On Error Goto ErroreClick (fa riferim. a ErroreClick:)
>
> ..Esegui il tuo codice solito...
>
> ErroreClick:
>    Msgbox "Si è verificato un errore"
>    resume next
>
> End Sub
> ---------------------------------
>
> ErroreClick: è un'etichetta all'interno della routine che viene richiamata
> appunto ON ERROR GOTO :)
>
> Ciao :)
Grazie Fabrizio. Vediamo se ho capito bene..
Inizia la procedura sull'evento CLICK
Nel caso in cui si presenti un errore qualsiasi ON ERROR GO TO entra in
funzione e richiama attraverso il link ErroreClick la routine di controllo.
Questa segnala allo user di turno, attraverso msgbox che si è verificato un
errore.
A questo punto RESUME NEXT cosa fa? Ripristina il corretto funzionamento del
routine iniziale?


title: on error go to...

text:
"Gio&Tin" <
joeti...@libero.it
> ha scritto nel messaggio
news:J_FC9.19318$Ka3.5...@twister1.libero.it...
> Grazie Fabrizio. Vediamo se ho capito bene..
> Inizia la procedura sull'evento CLICK
> Nel caso in cui si presenti un errore qualsiasi ON ERROR GO TO entra in
> funzione e richiama attraverso il link ErroreClick la routine di
controllo.
> Questa segnala allo user di turno, attraverso msgbox che si è verificato
un
> errore.
Fin qui tutto OK
> A questo punto RESUME NEXT cosa fa? Ripristina il corretto funzionamento
del
> routine iniziale?
"Resume" è il comando con cui termina la routine di gestione dell'errore:
RESUME NEXT fa ripartire la routine dall'istruzione successiva a quella che
ha generato l'errore
RESUME <etichetta> la fa ripartire da un'altro punto
Queste cose comunque le trovi anche sull'help!
Fabio


title: Importare tabella excel da codice

author: aek

text:
Ho un problema da risolvere, dovrei fare una maschera con un bottone
cliccando il quale viene importata una tabella excel (il nome e la
posizione sono fissi) e, se l'id della riga è presente viene aggiornato
il record relativo nella tabella access (solo alcuni dei campi di quel
record), se non è presente viene aggiunta una riga nuova nella tabella
access. Qualcuno sa come fare o sa darmi qualche consiglio?
Grazie
Ciao


title: Importare tabella excel da codice

text:
"aek" <
alm...@hotmail.com
> ha scritto nel messaggio news:pan.2004.07.30...@hotmail.com...

Potresti iniziare con il collegare (File - Carica dati esterni - Collega tabelle) il foglio direttamente in access visto che il
nome, posizione e struttura non cambiano.
Poi una query di accodamento facendo un confronto degli id (di excel) non compresi  nella tabella di destinazione.
Es.
INSERT INTO [TabellaAccess] ( id, campo2, campo3 )
SELECT id, campo2, campo3
FROM [FoglioExcel]
WHERE FoglioExcel.id Not In (Select id from [TabellaAccess]);
Con un'altra query di aggiornamento verifichi invece la corrispondenza tra la tabella e il foglio excel mettendo in relazione i due
id...
Ciao.
--
Sergio MAZZA


title: Importare tabella excel da codice

text:
Penso che seguirņ il tuo consiglio, mi sembra che sia una soluzione
semplice ma efficace.
Grazie mille
Ciao



title: Importare tabella excel da codice

text:
"aek" <
alm...@hotmail.com
> ha scritto nel messaggio news:pan.2004.07.30....@hotmail.com...
> Penso che seguirņ il tuo consiglio, mi sembra che sia una soluzione
> semplice ma efficace.
> Grazie mille
> Ciao
Segui un altro consiglio che č quello di scrivere alla fine del testo del messaggio precedente, come faccio io; grazie.
E' una delle regole di questo NG...
Ciao.
--
Sergio MAZZA


title: Importare tabella excel da codice

text:


Sorry, messaggio ricevuto come vedi.
E pensare che PAN mi aveva avvisato prima di inviare, ma cosa ci vuoi
fare... la fretta
Ciao


title: Importare tabella excel da codice

text:
"aek" <
alm...@hotmail.com
> ha scritto nel messaggio news:pan.2004.07.30....@hotmail.com...
> Sorry, messaggio ricevuto come vedi.
> E pensare che PAN mi aveva avvisato prima di inviare, ma cosa ci vuoi
> fare... la fretta
>
> Ciao
PAN??!! Quello del flauto magico?
Ciao.
--
Sergio MAZZA


title: crystal reports...si può usare con Access2000 ?

author: Enrico Virginio

text:
Se si come ?
--
Posted via Mailgate.ORG Server -
http://www.Mailgate.ORG


author: ZIK

text:
"Enrico Virginio" <
nor...@libero.it
> wrote in message
news:2f03be4fa1d8089fc5...@mygate.mailgate.org...
> Se si come ?
La domanda č Perchč..???
Cristal Report serve in Visual Basic poichč non dispone
di un interfaccia semplicissima per la creazione dei REPORT.
Access in generale ha una delle strutture piů potenti...!
E come se io volessi usare DataEnvironment con A97....!!!
ZIK.



title: Assegnare valore corrente preso da una sottomaschera

author: Mimmovsky

text:
Dovrebbere essere semplice ma non funziona mica!
Allora ho una maschera basata su 100 articoli diversi ed una
sottomaschera che riassume gli ordini aperti per ogni articolo.
Selezionando dalla maschera principale l'articolo 1, vedo nella
sottomaschera gli ordini aperti relativi all'articolo e il totale pezzi.
Nella maschera principale esiste il campo QO (quantità in ordine)
Vorrei che ad ogni variazione degli ordini (ad esempio dopo l'evasione e
successiva cancellazione del record nella sottomaschera) il valore di QO
per quell'articolo si riaggiustasse al nuovo totale (calcolato sul fondo
della sottomaschera)
Su quale controllo vado ad inserire il criterio di uguaglianza??
Grazie
M.


author: Roberto da casa

text:
"Mimmovsky" <
us...@example.net
> ha scritto nel messaggio
news:438f00e3$0$27599$4faf...@reader1.news.tin.it...

Nell'origine controllo del controllo QO; naturalmente dopo ogni variazione
dei record della sottomaschera dovrai fare un requery di tale controllo.
>
> Grazie
Prego
> M.
--
Roberto
-----------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
-----------------------------------------------


title: Assegnare etichetta alla maschera da Vba

author: Alberto Luzi

text:
Salve!
Come devo fare per assegnare un'etichetta alla maschera
da Vba?
Grazie


author: BFS

text:

se la maschera è quella dove sta girando il codice
me.caption='ciao'

se è un altra:

Form_NomeTuaMaschera.Caption = "ciao"

BFS


text:

grazie


title: modificare contenuto record tramite controlli da form

text:
Ciao A tutti.
il problema e' il seguente.
ho creato un report in cui vi e' la casella di testo non associata [txtfrm]
ho creato una maschera con i seguenti 4 controlli:
[SCONTO] --> casella combinata con origine riga interna (solo numeri da 0 a
60) --> valore di default=0
[RIVENDITORI] --> pulsante di comando.
[AGENTI] --> pulsante di comando
[PUBBLICO] pulsante di comando.
Cosa voglio fare:
Prima necessita'.
Seleziono un valore>0 per [SCONTO] e poi clicco su [RIVENDITORI].
devo ottenere:
apertura del report con la stampa del valore [txtfrm] che, in base alla
selezione precedente, e' = "Sconto applicato ai Rivenditori" & "[SCONTO]" &
"%"
Seconda necessita'.
Seleziono un valore>0 per [SCONTO] e poi clicco su [AGENTI].
devo ottenere:
apertura del report con la stampa del valore [txtfrm] che, in base alla
selezione precedente, e' = "Sconto applicato agli Agenti" & "[SCONTO]" & "%"
Terza necessita'.
[SCONTO] = zero e poi clicco su [PUBBLICO].
devo ottenere:
apertura del report con la stampa del valore [txtfrm] che, in base alla
selezione precedente, e' = null
Ho fatto alcuni tentativi prima assegnando ai pulsanti delle macro con
l'esecuzione delle seguenti azioni:
ApriReport
impostaValore, dove [txtfrm] assumeva i tre valori possibili ma non mi ha
dato nessun risultato.
Ora sto provando con un po' di codice ma peggio che andar di notte (in
effetti ancora non e' che ci capisca molto di sto VBA)... comunque...
Private Sub AGENTI_Click()
txtbox = "Sconto applicato per gli Agenti:"
On Error GoTo Err_Comando20_Click
    Dim stDocName As String
        stDocName = "replistino"
    DoCmd.OpenReport stDocName, acPreview
Exit_Comando20_Click:
    Exit Sub
Err_Comando20_Click:
    MsgBox Err.Description
    Resume Exit_Comando20_Click
End Sub
Ovvero, ho creato, nella maschera, un'altra casella non associata a cui
assegno un valore al momento dell'evento su_click ma non succede nulla.
ho anche pensato di fare un'altra prova ma non so come fare.Ovvero.
Private Sub AGENTI_Click()
txtbox = "Sconto applicato per gli Agenti:"
codice che mi attiva una macro con cui,
Apro il Report, modalità anteprima
Assegno a[txtfrm] il valore di [txtbox]
end sub
ma come faccio?
Grazie a tutti.
Francesco


text:
<
francess...@darpit.it
> ha scritto nel messaggio
news:b5vt25$du8$1...@grillo.cs.interbusiness.it...

Presupponendo che la maschera resti aperta durante l'esecuzione del report.
Inserisci nella maschera anche una casella di testo non associata nella
quale memorizzi, a fronte dell'evento "Su clic" dei pulsanti di comando, una
descrizione diversa a seconda del pulsante di comando premuto.
Nel report inserisci due caselle di testo non associate nella cui origine
controllo fai riferimento rispettivamente alla casella di testo ed alla
casella combinata di cui sopra contenute nella maschera.
Naturalmente a fronte dell'evento "Su clic" dei pulsanti di coamndo aprirai
anche il report.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


text:
"Roberto da casa" <
r.ma...@libero.it
> ha scritto nel messaggio
news:I8Wga.56606$Lr4.1...@twister2.libero.it...

Ciao Roberto,
la logica che ho usato nei miei tentativi e' stata proprio questa ma non ho
ottenuto nulla.
Comunque, adesso sto riprogettando il tutto complicandomi ancora di piu' la
vita... ti faro' sapere.
grazie.
Francesco.


title: runtime per access97

text:
Chiedo perdono in anticipo per la richiesta singolare e quasi
archeologica. Ho fatto una ricerca prima di postare, sto cercando in rete
ma non cavo un ragno dal buco.
Avrei la necessita' di far girare un archivio abbastanza complesso fatto
con access97 su due-tre computers e mi servirebbe un run-time idoneo. Ho
provato col 2000 ma funziona in modalita' sola lettura.
Al solo pensiero di fare la conversione dell'archivio per una versione
successiva, con tutte le magagne che forse incontrerei, mi viene la pelle
d'oca. Avete qualche suggerimento utile?
Grazie in anticipo,
Davide   :-)
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news
 segnala gli abusi ad
ab...@newsland.it


title: runtime per access97

author: Simone Calligaris

text:
"il_Cava" <
> Chiedo perdono in anticipo per la richiesta singolare e quasi
> archeologica. Ho fatto una ricerca prima di postare, sto cercando in rete
> ma non cavo un ragno dal buco.
> Avrei la necessita' di far girare un archivio abbastanza complesso fatto
> con access97 su due-tre computers e mi servirebbe un run-time idoneo. Ho
> provato col 2000 ma funziona in modalita' sola lettura.
>
> Al solo pensiero di fare la conversione dell'archivio per una versione
> successiva, con tutte le magagne che forse incontrerei, mi viene la pelle
> d'oca. Avete qualche suggerimento utile?
> Grazie in anticipo,
Se non vuoi avere problemi di licenze dovresti evitare downloads dalla rete.
Comunque, penso tu abbia cercato male: oltre al web esiste il P2P.
Saluti.


title: runtime per access97

author: Roberto

text:
io ho scaricato access runtime 2007 che funziona sicuramenente per
access 2000. Non dovrebbero esserci problemi con A97.
L'unico "malfunzionamento" è nell'esecuzione delle query di
aggiornamento/eliminazione tramite docmd.runsql
Se utilizzi quel comando semplicemente ti chiede conferma
sull'aggiornamento (anche con docmd.setwarnings false).
Se non confermi ti da errore e ti fa uscire. Per il resto no problem
Roberto


title: runtime per access97

author: il Cava

text:
Grazie per le gentili risposte, credo di aver risolto per il momento.
Simone ha sicuramente ragione, avrei dovuto cercare anche altrove ma non ho
dimestichezza col p2p.
:-) dal Cava
"Roberto" <
erre...@yahoo.it
> ha scritto nel messaggio
news:7ec1a2dd-b049-40f2...@26g2000hsk.googlegroups.com...



title: errore in campo di una tabella "#Eliminato"

author: mario rossi

text:
Buongiorno a tutti,

A volte mi capita che un record di una tabella di Access non si riesca a duplicare o modificare correttamente, se poi vado a vedere riporta #Eliminato solo in un campo note di tipo testo.

Qualcuno ha idea del perché capita e come evitarlo?

Grazie a tutti.


author: Michele

text:

sbaglierai qualcosa...
usa il debug e passo passo cerca di capire quale query cancella dei record nella tua tabella...


text:
> Buongiorno a tutti,
>
> A volte mi capita che un record di una tabella di Access non si riesca a duplicare o modificare correttamente, se poi vado a vedere riporta #Eliminato solo in un campo note di tipo testo. >
> Qualcuno ha idea del perché capita e come evitarlo?

Sembrerebbe un record danneggiato: coi campi Memo capita quello che descrivi.

Saluti


text:

Confermo non è un record eliminato ma è solo un campo danneggiato con scritto #eliminato e confermo è un memo il resto dei campi hanno il valore corretto.
Quale metodo usate voi per correggere questo valore @eliminato?


text:
> Confermo non è un record eliminato ma è solo un campo danneggiato con scritto #eliminato e confermo è un memo il resto dei campi hanno il valore corretto.
> Quale metodo usate voi per correggere questo valore @eliminato?

Mah, i soliti che si usavano in questi casi: se il compatta/Ripristina non basta, importa tutto in un nuovo DB, il record danneggiato dovrebbe sparire.
Sul web trovi molti riferimenti al problema in oggetto: sarebbe meglio non usare campi Memo in tabelle utilizzate in multiutenza.

Saluti


text:

in fase di visualizzazione prova a inserire left([campo],1000) invece di [campo]


title: query difficile da impostare

author: Panathos

text:
Buongiorno a tutti,
ho una tabella di prodotti venduti, comprensiva di data di vendita.
Quello che mi è stato chiesto, è di generare un report che mostri il
venditore che per primo è riuscito a vendere 10 pezzi di un
determinato prodotto.
I dati di base li ho tutti, in tabella... ma non so proprio come
impostare una cosa del genere in Access... potete aiutarmi?
Grazie,
Panathos


title: query difficile da impostare

author: Fabrizio

text:
Panathos ha scritto:

creati una query e metti tutti i campi che vuoi poi
nel criterio sotto n° pezzi venduti metti >=10 ti mostra quello che ha
raggiunto 10 o maggiore di 10


title: query difficile da impostare

text:
Fabrizio ha scritto:
> > ho una tabella di prodotti venduti, comprensiva di data di vendita.
> > Quello che mi è stato chiesto, è di generare un report che mostri il
> > venditore che per primo è riuscito a vendere 10 pezzi di un
> > determinato prodotto.
> >
> creati una query e metti tutti i campi che vuoi poi
> nel criterio sotto n° pezzi venduti metti >=10 ti mostra quello che ha
> raggiunto 10 o maggiore di 10
Scusa ma non mi sono spiegato: il problema è fare la "classifica" di
chi è arrivato primo (in ordine di tempo), in un determinato periodo,
ad avere 10 record in tabella. Come si fa un report su questa roba???
Questo è il problema, non so come impostarlo.


title: query difficile da impostare

author: Bruno Campanini

text:
"Panathos" <
pana...@gmail.com
> wrote in message
news:1143337803....@u72g2000cwu.googlegroups.com...
Scusa ma non mi sono spiegato: il problema è fare la "classifica" di
chi è arrivato primo (in ordine di tempo), in un determinato periodo,
ad avere 10 record in tabella. Come si fa un report su questa roba???
Questo è il problema, non so come impostarlo.
Prova così:
===============================
Private Sub Command33_Click()
'
' È richiesta la tabella t_Vendite coi campi:
'       Prodotto, Text(255)
'       DataVendita, Date/Time
'       Venditore, Text(255)
'
' Viene creata la tabella TT_Classifica che, successivamente ordinata
' per data, esporrà i Venditori ordinati per data raggiungimento target.
'
Dim db As Database, SQL As String
Dim RS1 As Recordset, RS2 As Recordset, RS3 As Recordset
Dim Prodotto As String, NumVendite As Long, i As Long
' Definizioni
'--------------------
Prodotto = "Mele"
NumVendite = 3
'--------------------
Set db = CurrentDb
On Error Resume Next
DoCmd.DeleteObject acTable, "TT_Classifica"
On Error GoTo 0
SQL = "CREATE TABLE TT_Classifica "
SQL = SQL & "([Venditore] Text(255), "
SQL = SQL & "[DataTarget] DateTime);"
db.Execute SQL
SQL = "SELECT t_Vendite.Venditore FROM t_Vendite GROUP BY
t_Vendite.Venditore;"
Set RS2 = db.OpenRecordset(SQL)
Set RS3 = db.OpenRecordset("TT_Classifica")
Do Until RS2.EOF
    SQL = "SELECT t_Vendite.Prodotto, t_Vendite.DataVendita,
t_Vendite.Venditore "
    SQL = SQL & "FROM t_Vendite WHERE (((t_Vendite.Prodotto)='" & Prodotto &
"') "
    SQL = SQL & "AND ((t_Vendite.Venditore)='" & RS2![venditore] & "')) "
    SQL = SQL & "ORDER BY t_Vendite.DataVendita;"
    Set RS1 = db.OpenRecordset(SQL)
    Do Until RS1.EOF
        For i = 1 To NumVendite - 1
            RS1.MoveNext
        Next
        RS3.AddNew
        RS3![venditore] = RS1![venditore]
        RS3![DataTarget] = RS1![DataVendita]
        RS3.Update
        Exit Do
    Loop
    RS2.MoveNext
Loop
End Sub
========================================
Bruno


title: query difficile da impostare

text:
"Bruno Campanini" <
bruno.c...@tin.it
> wrote in message
news:44268df5$0$2266$4faf...@reader4.news.tin.it...
> Prova cosě:
> ===============================
> Private Sub Command33_Click()
[...]
Ripensandoci, qualche controllo d'errore non guasta.
Sostituisci il Do... Loop interno con:
===========================
    Do Until RS1.EOF
        For i = 1 To NumVendite - 1
            On Error Resume Next
            RS1.MoveNext
            On Error GoTo 0
        Next
        If Not RS1.EOF Then
            RS3.AddNew
            RS3![venditore] = RS1![venditore]
            RS3![DataTarget] = RS1![DataVendita]
            RS3.Update
        End If
        Exit Do
    Loop
============================
Bruno


title: Report complicato ( per me!!! )

author: Dix

text:
Ho una tabella "Clienti" formata da diversi campi (tra cui
"provincia","operatore" e una casella si/no che indica se c'è stato un
appuntamento chiamata "appuntamento"). Devo creare un report che mi
restituisca il numero di quanti appuntamenti ci sono per provincia e per
operatore. Naturalmente si chiederà all'utente di inserire quale provincia e
quale operatore desidera.
Come posso fare ? Devo creare prima una query ? Se si come ?
Grazie del possibile aiuto.
Ciao Francesco


title: Report complicato ( per me!!! )

author: Emyr

text:


crei una maschera con due controlli non associati in cui l'utente
inserirà l'operatore e la provincia.
quindi nella query del report nei criteri di operatore e provincia
farai riferimento a questi valori con
forms!tuaform!nomeoperatore
forms!tuaform!nomeprovincia
oppure in apertura puoi inviare i dati tramite opzione where di
openreport
docmd.openreport tuoreport ,,,,, "operatore=""" & me.operatore & " and
provincia=""" & me.provincia & """"
non ricordo quate virgole ci sono vedi l'help
Saluti.
Emanuele.


title: Report complicato ( per me!!! )

author: Max De Poli

text:
"Dix" <
Di...@libero.it
> wrote in message news:<yIRh8.2667$
tC3....@twister1.libero.it
>...

Devi creare una maschera (a dire il vero non è indispensabile, solo
molto piu' comodo) nella quale ci sono due controlli (Caselle di
testo, caselle di riepilogo o meglio ancora caselle combinate) nei
quali inserire provincia e operatore. Dichiamo che salvi la maschera
con nome "LanciaReport" e i campi come "NomeProvincia" e
"NomeOperatore". Gia' che ci sei aggiungi anche un pulsante che apre
il report (lo fai anche con l'autocomposizione)
Poi, quando crei la query per il report, nei criteri del campo
"Provincia" ci metti [forms]![LanciaReport]![Nomeprovincia], e nei
criteri del campo "Operatore" metti
[forms]![LanciaReport]![NomeOperatore].
Tieni solo presente che cosi' la maschera LanciaReport deve sempre
essere aperta prima del report.
Cia'
Max De Poli


title: Svuotare un input form

author: zarquon

text:
Ben ritrovati
Purtoppo VB lo sto assimilando "di riflesso"...
Situazione: mi ritrovo con una classica form composta da alcune
textbox non associate e un tasto che se premuto determina
l'aggiornamento di una tabella con i dati inseriti nelle textbox
citate. Ora, mi piacerebbe che al tasto, oltre all'invio dei dati, si
potesse associare la cancellazione di tutti i valori gia' immessi,
cosi' che la form sia pronta per essere nuovamente riutilizzata: esite
un metodo tipo sweep o clear o cos'altro?
Avrei risolto chiudendo e riaprendo la form con lo stesso tasto... ma
non mi pare molto stiloso ;-)
grazie a tutti
-Z-


title: Svuotare un input form

author: MA

text:

dim ctl as textbox
for each ctl in me.controls
ctl.value = ""
next
--
--
MAssimiliano Amendola
www.accessgroup.it
Cisa - Conferenza Italiana Sviluppatori Access


title: Svuotare un input form

text:
Si, cosi' cosi' e' molto meglio, grazie!



title: Svuotare un input form

author: Karl Donaubauer

text:

Ti consiglio
ctl.value = Null
Con "" = una stringa vuota un campo o controllo sembra vuoto
ma non è veramente senza valore. Questo spesso crea problemi
nella ricerca o con filtri o se la proprietà AllowZeroLength
(Consenti Lunghezza Zero) dell campo nella tabella è impostato
a No (= impostazione consigliabile).
--
HTH
Karl
*********
Access FAQ:
www.donkarl.com/it


title: Svuotare un input form

text:
>>> dim ctl as textbox
>>> for each ctl in me.controls
>>> ctl.value = ""
>>> next
>>> --
>
>Ti consiglio
>
>ctl.value = Null
>
>Con "" = una stringa vuota un campo o controllo sembra vuoto
>ma non è veramente senza valore.
Gia', ma ho cantato vittoria troppo presto:
Private Sub Comando6_Click()
	Dim cleanfrm As TextBox
	For Each cleanfrm In Me.Controls
	cleanfrm.Value = Null
	Next
End Sub
viene segnalato un errore:  la prima textbox viene azzerata ma compare
il messagio "tipo non corrispondente", il debug si posiziona su Next
Sbaglio qualcosa?
-Z-


title: Svuotare un input form

text:
zarquon wrote:
> ...
> Private Sub Comando6_Click()
> Dim cleanfrm As TextBox
> For Each cleanfrm In Me.Controls
> cleanfrm.Value = Null
> Next
> End Sub
>
> viene segnalato un errore:  la prima textbox viene azzerata ma compare
> il messagio "tipo non corrispondente", il debug si posiziona su Next
> Sbaglio qualcosa?
Forse intendi:
Dim ctl As Control
For Each ctl In Me.Controls
    If ctl.ControlType = acTextBox Then
        ctl.Value = Null
    End If
Next ctl



title: Svuotare un input form

text:
>Forse intendi:
>
>Dim ctl As Control
>
>For Each ctl In Me.Controls
>    If ctl.ControlType = acTextBox Then
>        ctl.Value = Null
>    End If
>Next ctl
Perfetto! Questa mi torna buona anche in altro modo...
grazie 1000
-Z-


title: Problema Maschere e creazione record

author: Master Sulu

text:
Domanda:
Ho una maschera collegata a una tabella che gestisce dati di societą. In
questa maschera un pulsante mi apre un'altra form, con altri dati sulla
societą, legati ad un'altra tabella. Le due tabelle sono in relazione
mediante il
nome della societą
Vorrei fare in modo che quando clikko sul pulsante, nella form che si apre
compaia gia' il nome della societą, che ho inserito prima di premere il
pulsante nella form generale (questo anche se il record fosse nuovo), e che
se chiudo la form 2 senza aggiungere altri dati, la tabella a cui e'
collegata venisse aggiornata, e che quindi venisse creato un nuovo record,
contente ovviamente (perche' non ho aggiunto nulla) solo il nome della
societą che e' stato preso automaticamente, come ho detto prima.
Spero che la spiegazione sia chiara (mi stavo perdendo anch'io!).
Grazie a tutti quelli che riescono a darmi un aiuto
Andrea


title: Problema Maschere e creazione record

author: Roberto dal portatile

text:
"Master Sulu" <
andre...@tin.it
> ha scritto nel messaggio
news:Gt177.13394$gU3....@news1.tin.it...

Se il nome dei campi delle due tabelle che contengono il nome della societą
si chiamano NomeSocietą.
Se i controlli delle due maschere associati ai campi NomeSocietą si chiamano
anche loro Nome societą.
Se la maschera "chiamante" (quella che contiene il pulsante di comando) si
chiama Maschera1.
Se la maschera "chiamata" si chiama Maschera2.
Se a fronte dell'evento "Su clic" del pulsante di comando hai generato un
codice VBA di questo tipo:
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "Maschera2"
stLinkCriteria = "[NomeSocietą]=" & "'" & Me![NomeSocietą] & "'"
DoCmd.OpenForm stDocName, , , stLinkCriteria
A fronte dell'evento "Su caricamento" di Maschera2 genera il seguente codice
VBA:
If Me.NewRecord Then
Me!NomeSocietą = [Forms]![Maschera1]![NomeSocietą]
End If
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


title: Difficoltà di progettazione

author: Filogatto

text:
Ho bisogno di progettare un DB tipo "stato di servizio giornaliero" che
tenga traccia, giorno per giorno, dell'attività (circa cento) di ciascun
nominativo in un dato elenco (qualche centinaio).
Il problema quindi è creare dei recordset contenenti fondamentalmente 3
elementi: data, nominativo, attività, a partire dalle rispettive tabelle.
Per ogni nominativo, l'attività può essere diversa dal giorno prima.
Ad ogni data devono venir associati tutti i nominativi.
Poiché non posso ovviamente costringere l'utente finale a routine
giornaliere del tipo: digito la data di oggi, seleziono il nominativo,
associo l'attività e via avanti per centinaia di volte, credo che l'unica
soluzione sia quella di lavorare su recordset predefiniti in cui risulti
già:
a)      che ogni giorno dell'anno sia associato a tutti i nominativi.
b)       che ogni nominativo sia associato a una attività predefinita
(espressa magari con un valore generico diverso da NULL), variando
giornalmente all'occorrenza solo quest'ultima.
Si tratterebbe ovviamente di predisporre delle procedure automatiche per la
creazione di tali recordset.
Il punto è che per quanto mi stia scervellando,  proprio non riesco a
immaginare, sia pure a grandi linee, da quale punto devo partire, che strada
seguire ma soprattutto cosa devo andarmi a studiare.
Qualcuno può darmi una illuminazione?


title: Difficoltà di progettazione

text:
"Filogatto" <
filo...@supereva.it
> ha scritto nel messaggio
news:9lhjil$bje$1...@serv1.albacom.net...

Puoi scegliere tra due modi di operare:
1) Aggiungere, per una certa data impostata dall'operatore, nella tabella
stati di servizio tanti record quanti sono i nominativi; come attività puoi
registrare l'ultima attività svolta da quel nominativo oppure un'attività
predefinita che memorizzerai nella tabella dei nominativi. Dopo aver
registrato tutti i record di quel giorno, puoi aprire una maschera a
visualizzazione Maschere continue nella quale mostrerai all'operatore tutti
i record registrati per quel giorno in modo che lui possa correggere, per
eccezione, le attività di alcuni nominativi.
2) Aggiungere, per una certa data impostata dall'operatore, nella tabella
stati di servizio tanti record quanti sono i nominativi; come attività puoi
registrare l'ultima attività svolta da quel nominativo oppure un'attività
predefinita che memorizzerai nella tabella dei nominativi. Prima di
registrare un record, mostri in una maschera popup i dati che stai per
registrare: l'operatore può accettarli così come proposti dal programma
chiudendo semplicemente la maschera, oppure modifica l'attività prima di
chiudere la maschera.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


title: Aiuto per limitazione Inputbox

author: badush

text:
Ciao amici
scusate la mia ignoranza.  Nonostante "moskolowosky" mi abbia dato un valido
suggerimento non sono riuscito a metterlo in pratica.
La risposta di moskolowosky" č la seguente:
"Imposta entrambi i criteri con la data inizio e la data fine delle prime
due inputbox"
Come si fa???
Ripropongo il quesito pregandovi di darmi maggiore indicazione.
"seguendo le istruzioni di Roberto da Casa sono riuscito a impostare le
query
per il calcolo della liquidazione trimestrale dell'Iva utilizzando le
istruzioni between [Data Inizio] and [Data Fine].
In pratica sulla query degli acquisti ho applicato l'istruzione precedente
alla data costruendomi successivamente la query contenente solo Il campo Iva
utilizzando l'opzione di riepilogo Somma.
Azionando la query mi escono regolarmente le due maschere di input per
immettere la data: ossia [Data inizio] e  [Data Fine].
Analogamente ho fatto per la query delle Vendite
Disponendo della somma dell'Iva sugli acquisti e quella delle vendite
riferite ad un dato periodo di liquidazione (supponiamo dal 01/01/2003 al
31/03/2003) mi sono costruito un'altra query per calcolare la Differenza.
Nel dettaglio la query č cosi composta:
SommaIvaVendite    SommaIvaAcquisti
Differenza:[SommaIvaVendite]-[SommaIvaAcquisti]
Azionando la query sopra descritta mi escono quattro maschere di input per
la data:
Data inizio Iva a Debito;
Data Fine Iva a Debito;
Data inizio Iva a Credito;
Data Fine Iva a Credito.
Esiste un modo per ridurre le maschere di input solo a due, in modo da
inserire la Data di inizio e la data finale valida sia per l'Iva a Debito
che a Credito?"
Grazie


title: Aiuto per limitazione Inputbox

text:

Se nella tua maschera "Riepilogo" ti crei i controlli "Inizio" e "Fine" ti
crei una query nella cui struttura in corrispondenza dei criteri della data
ci inserisci between Forms!Riepilogo!inizio and forms!riepilogo!fine tu ti
calcola la query in base a queste date senza chiederti nulla. Ovviamente lo
puoi fare anche per entrambi i tipi di query.
Se hai bisogno di maggiori chiarimenti fammi sapere.
ciao MAssimiliano
P.s. Ah dimenticavo, il compenso per la spiegazione lo vuoi con o senza IVA?
--------------------------------
Inviato via
http://usenet.libero.it


title: Aiuto per limitazione Inputbox

text:
"MA" <
massimilia...@kksrl.com
> ha scritto nel messaggio
news:151Z26Z50Z132Y1...@usenet.libero.it...


Con l'iva Naturalmente!!
Ho seguito il tuo consiglio. Funziona a meraviglia
Grazie di cuore.
Ciao


title: come interagire col WEB ?

author: Ivan

text:
Per varie applicazioni ho bisogno di prelevare dati dalla rete.
Spesso i dati provengono da pagine .asp strutturate in maniera, ogni volta,
standard e quindi facili da scandire  e quindi con dati (abbastanza) a
portata di mano.
Non riesco a capire da che parte dovrei cominciare per rendere automatico
(almeno in parte) il processo di connessione e interrogazione della pagina.
E SECONDO quesito č : il contenuto HTML dove č ? ( Io VEDO una pagina WEB,
ma essa poggia sul codice HTML che non riesco a trovare, da Access).
Almeno una traccia per lanciarmi su un terreno che altri hanno sicuramente
gią coltivato!
grazie
Ivan


title: RUNTIME e tabelle collegate

text:
Che voi sappiate, la Runtime di Access funzione correttamente se converto un
Db con tabelle collegate?
Es. il mio database ha delle tabelle collegate e altre interne al database,
se lo trasformo in applicativo funziona correttamente lo stesso?
ciao e grazie mille per ora


title: RUNTIME e tabelle collegate

author: Massimo

text:
"### CH v2.001 ###" <
ngma...@genio-af.it
> ha scritto nel messaggio
news:9olou3$9u0$2...@fe1.cs.interbusiness.it...

Direi proprio di si, i miei non danno alcun problema.
Max


title: RUNTIME e tabelle collegate

author: stwe

text:
"Massimo" <
ron...@tiscalinet.it
> ha scritto nel messaggio
news:T7ur7.33571$Lp6.1...@news.infostrada.it...

confermo anche io
by
stwe


title: RUNTIME e tabelle collegate

text:
"Massimo" <
ron...@tiscalinet.it
> ha scritto nel messaggio
news:T7ur7.33571$Lp6.1...@news.infostrada.it...

anche perchè se crei FE e BE poi aggiorni solo il FE, altrimenti cancelli i
dati agli utenti che secondo me si incazzano...
scusate i due post
by
stwe


title: inserimento record da codice: sql o recordset?

author: ciroteo

text:
Per ovviare a problemi di inserimento dati in multiutenza (per es.
numerazione progressiva fatture, protocollo corrispondenza) ho preso
l'abitudine di crearmi una maschera non associata contenente i controlli coi
valori che voglio far inserire, poi tramite routine lanciata da pulsante
effettuo controlli di convalida, calcolo il progressivo e inserisco
efffettivamente il record tramite un'istruzione sql insert into ...
sql = "INSERT INTO fatture (...,...)  VALUES (...,....)"
DoCmd.RunSQL sql
non conoscendo appieno il meccanismo e le funzioni dei recordset, mi domando
se e come possono essere utilizzati per lo stesso scopo e in caso
affermativo quale dei due metodi presenti più vantaggi.
Grazie a chi vorrà rispondermi.


author: Nick

text:
"ciroteo" <
cir...@libero.it
> ha scritto nel messaggio news:cgcot8$ldk$1...@hulme.interac.it...

secondo me per l'inserimento di un progressivo è meglio sql, il recordset (DAO) risulterebbe tropo lento e macchinoso per
un'operazione così semplice.considerando che i dati li hai già disponibili non ci (sempre secondo me) sono motivi per usare i
recordset.
se i dati sono difficili da recuperare (tipo se ci sono controlli su più regord, magari spari in tabella che non si riescono ad
allineare) allora è il caso di usare i recordset...
non so se sono stato chiaro... ma io la penso così, al max chiedi ulteriori spiegazioni :)
ciao Nick


text:
"Nick" <senz...@chiedetesul.NG> ha scritto nel messaggio
news:nLlWc.51295$1V3.1...@twister2.libero.it...

CIAO nick ti ringrazio. Andrò avanti per la strada dell'sql, anche se vorrei
trovare il modo di impratichirmi con questi recordset, di cui in realtà non
ho ancora ben capito la funzione.
Non bastano le qry ?


text:
[CUT]
>
> CIAO nick ti ringrazio. Andrò avanti per la strada dell'sql, anche se vorrei
> trovare il modo di impratichirmi con questi recordset, di cui in realtà non
> ho ancora ben capito la funzione.
> Non bastano le qry ?
>
>
>
i recordset vengono utilizzati per dove le query non arrivano o dove dovresti costruire query su query in cascata per far eseguire i
calcoli...
o dove vuoi un controllo record per record di ciò che sta avvenendo...
ciao Nick
è un po' difficile da riassumere in un posto e cmq ho provato  afare un esempio ma mi è risultato illeggibile... prendi come buono
quello che ho scritto qui sopra e poi chiedi per ogni dubbio, forse è la più scorrevole...
al max se vuoi ci sentiamo via icq/tel per il discorso generale che è parecchio lungo.....


text:
"Nick" <senz...@chiedetesul.NG> ha scritto nel messaggio
news:tDnWc.51464$1V3.1...@twister2.libero.it...

ok !
io uso yahoo messenger, mi trovi con lo stesso nick ... ( e non è un gioco
di parole, caro nick ...)
tutti gli altri sono bloccati da firewall... almeno cosi sembra!


text:
> >
>
> ok !
> io uso yahoo messenger, mi trovi con lo stesso nick ... ( e non è un gioco
> di parole, caro nick ...)
> tutti gli altri sono bloccati da firewall... almeno cosi sembra!
>
>
ti ho cercato con il messenger ma non ti trovo (forse non sei collegato o ho sbagliato io)
il mio nick di yahoo è nsatta con rispettiva mail (
yahoo.it
)
prova a vedere se mi trovi tu, altrimenti vediamo di sistemarci :)
ciao
Nick


title: File di Testo in access

author: Pippo Go

text:
Salve a tutti,
mi hanno chiesto di elaborare alcuni file di testo con access con
tabulazione fissa. Non ci sarebbero particolari problemi se il file
fosse uno e con un nome specifico, perchè protrei collegare il file
stesso come tabella esterna; ma il problema è che questi file, generati
da un'altro programma, sono molti ed hanno nomi attribuiti in modo
soggettivo, tipo miononno.acp. Si oltre a tutto questo i file hanno
estensione .ACP.
Il mio problema quindi è di poter importare i file sopra descritti
(miononno1.acp - miononno2.acp - miononno3.acp), da una directory ben
precisa e inserirli in una tabella da poter elaborare a mio piacimento.
Vi ringrazio di aver letto questo messaggio e se avete qualche
suggerimeto Vi ringrazio ancora di più
Ciao


title: File di Testo in access

author: Sergio MAZZA

text:
"Pippo Go" <
pi...@pippo.it
> ha scritto nel messaggio
news:390FED3F...@pippo.it...

Mi mancano delle informazioni, puoi specificare se:
- i file acp hanno tutti la stessa struttura dei dati;
- se la tabella che contiene i dati deve essere vuotata prima o i dati
devono essere accodati.
Altrimenti puoi vedere l'help alla voce TransferText...
Ciao.


title: File di Testo in access

text:
Grazie Sergio per la tua Raply,
La struttura dei dati è fatta così:
 98           TAVERNOLA      2320          48           5
 98           VIGOLO         672           65           5
 98           AGNOSINE       1757          41           5
 98           AZZANO MEL     1537          82           5
 98           BAGNOLO ME     10863         82           5
 98           BARBARIGA      1978          79           5
 98           BARGHE         1079          57           5
 98           BEDIZZOLE      8368          84           5
Mi correggo sul formato che pensavo fosse con tabulazione invece è larghezza
fissa, ma credo che non cambi nulla.
Si tutti hanno la stessa struttura.
La tabella dovrebbe essere svuotata, ed i dati dei file di testo accodati.
Andrò comunque a vedere nell'help (TransferText). Se hai modo di indirizzarmi
al meglio non esitare a rispondere.
Grazie mille ancora



title: File di Testo in access

text:
"Pippo Go" <
pi...@pippo.it
> ha scritto nel messaggio
news:39100079...@pippo.it...
> Grazie Sergio per la tua Raply,
>
> La struttura dei dati č fatta cosě:
>
>  98           TAVERNOLA      2320          48           5
>  98           VIGOLO         672           65           5
>  98           AGNOSINE       1757          41           5
>  98           AZZANO MEL     1537          82           5
>  98           BAGNOLO ME     10863         82           5
>  98           BARBARIGA      1978          79           5
>  98           BARGHE         1079          57           5
>  98           BEDIZZOLE      8368          84           5
>
> Mi correggo sul formato che pensavo fosse con tabulazione invece č
larghezza
> fissa, ma credo che non cambi nulla.
>
> Si tutti hanno la stessa struttura.
> La tabella dovrebbe essere svuotata, ed i dati dei file di testo accodati.
>
> Andrň comunque a vedere nell'help (TransferText). Se hai modo di
indirizzarmi
> al meglio non esitare a rispondere.
>
> Grazie mille ancora
>
Vabbč spazio o tabulazioni poco importa, la cosa essenziale č il contenuto
(dati), se li trovi sempre allo stesso punto per ogni file non č difficile
perché:
- importi un file acp e salvi la specifica di importazione (es. Importa File
ACP);
- da codice VBA:
    DoCmd.RunSQL "delete * from TuaTabellaContenitore"
    DoCmd.TransferText acImportFixed, "nome della specifica di
importazione", "TuaTabellaContenitore", "TuoFile.ACP"
Fammi sapere...
Ciao.


title: File di Testo in access

text:
Aiuto!!!! :-(
Devi scusarmi, ma non ho mai scritto mezza riga di codice. Comunque c'è sempre
un aprima volta.
Hai per caso un esempio fatto in access da dove possa prendere spunto. Oppure,
se non ti chiedo troppo, un banale esempio basato sulla tabellina allegata a
questi messaggi.
Tieni presente che questi dati vengono da una directory ben specifica, per cui
saranno dei file *.acp.
Forse mi manderai a quel paese, ma se mi facessi un mdb zippato di esempio e lo
allegassi al replay ne sarei felice.
Ho fatto parecchi database in access ma tutti realizzati senza righe di codice,
so che non è bello, ma non sono un programmatore.
Sergio MAZZA wrote:
> "Pippo Go" <
pi...@pippo.it
> ha scritto nel messaggio
> news:39100079...@pippo.it...
> > Grazie Sergio per la tua Raply,
> >
> > La struttura dei dati è fatta così:
> >
> >  98           TAVERNOLA      2320          48           5
> >  98           VIGOLO         672           65           5
> >  98           AGNOSINE       1757          41           5
> >  98           AZZANO MEL     1537          82           5
> >  98           BAGNOLO ME     10863         82           5
> >  98           BARBARIGA      1978          79           5
> >  98           BARGHE         1079          57           5
> >  98           BEDIZZOLE      8368          84           5
> >
> > Mi correggo sul formato che pensavo fosse con tabulazione invece è
> larghezza
> > fissa, ma credo che non cambi nulla.
> >
> > Si tutti hanno la stessa struttura.
> > La tabella dovrebbe essere svuotata, ed i dati dei file di testo accodati.
> >
> > Andrò comunque a vedere nell'help (TransferText). Se hai modo di
> indirizzarmi
> > al meglio non esitare a rispondere.
> >
> > Grazie mille ancora
> >
> Vabbè spazio o tabulazioni poco importa, la cosa essenziale è il contenuto
> (dati), se li trovi sempre allo stesso punto per ogni file non è difficile



title: File di Testo in access

author: Sergio MAZZA (tiscali)

text:
"Pippo Go" <
pi...@pippo.it
> ha scritto nel messaggio
news:391034AA...@pippo.it...
> Aiuto!!!! :-(
> Mi correggo sul formato che pensavo fosse con tabulazione invece è
> > larghezza
> > > fissa, ma credo che non cambi nulla.
>
> Devi scusarmi, ma non ho mai scritto mezza riga di codice. Comunque c'è
sempre
> un aprima volta.
>
> Hai per caso un esempio fatto in access da dove possa prendere spunto.
Oppure,
> se non ti chiedo troppo, un banale esempio basato sulla tabellina allegata
a
> questi messaggi.
>
> Tieni presente che questi dati vengono da una directory ben specifica, per
cui
> saranno dei file *.acp.
> Forse mi manderai a quel paese, ma se mi facessi un mdb zippato di esempio
e lo
> allegassi al replay ne sarei felice.
>
> Ho fatto parecchi database in access ma tutti realizzati senza righe di
codice,
> so che non è bello, ma non sono un programmatore.
>
> Sergio MAZZA wrote:
>
>
Il codice VBA non è un problema, il problema è impostare i passaggi:
Primo: devi memorizzare le specifiche di importazione dei file (per maggiori
informazioni vedi l'help). Come si fa?
File - Carica dati esterni - importa - tipo file: file di testo; segui il
wizard passo per passo, prima di terminare la procedura premi il taso
avanzate e salva le specifiche con un nome che dovrai ricordare (es.
importaACP); alla fine hai costruito la tabella che svuoterai e riempirai
con i dati dei file acp.
Secondo: scelta del nome del file acp da importare, svuotare la tabella e
riempirla. Come si fa? Avrai inserito si una maschera un bottone [IMPORTA
ACP] che ti eseguirà il codice necessario a terminare la procedura; bene ora
in struttura della maschera entra nelle proprietà del bottone scegliendo la
scheda Dati e l'evento "su clic", premi il bottone con tre punti (generatore
di espressione) e scegli "generatore di codice"; più o meno sei in questa
situazione:
Private Sub Comando5_Click()
End Sub
Tra "Private" e "End Sub" scrivi:
Dim fileAcp As String, directory As String, checkErr
checkErr = False
directory = "c:\doveVuoiTu\"
fileAcp = InputBox("Inserire il nome del file ACP da importare", "Importa
ACP", "NomeTabella")
Rem verifica errori
Rem verifica se è stato inserita l'estensione
If InStr(1, fileAcp, ".acp") = 0 Then
    fileAcp = fileAcp & ".acp"
End If
Rem verifica se la variabile è vuota
If IsEmpty(fileAcp) Then
    checkErr = True
Else
    MsgBox "Inserire il nome della tabella. Dati non importati.", vbOKOnly,
"Errore"
End If
Rem verifica se esiste il file
If Dir(directory & fileAcp) = "" Then
    cherckErr = True
Else
    MsgBox "I file " & directory & fileAcp & " non esiste. Dati non
importati.", vbOKOnly, "Errore"
End If
Rem se non ci sono errori importiamo i dati
If Not checkErr Then
Rem vuoto la tabella
    DoCmd.RunSQL "DELETE * FROM NomeTabella;"
Rem importo i dati
    DoCmd.TransferText acImportFixed, "nomeSpecifica", "nomeTabella",
directory & fileAcp
    MsgBox "Il file " & percorso & fileAcp & " è stato importato.",
vbOKOnly, "Importazione file acp"
End If
Scritto tutto? Congratulazioni! Hai scritto la tua prima subroutine... Ora
incrocia le dita, chiudi tutto (salvando) e se non mi sono dimenticato nulla
e hai scritto tutto bene dovrebbe funzionare...
Ciao.
P.S. Devo chiudere, domani mi ricollego; se hai altri problemi invia i
quesiti all'NG e vedrai che si risolveranno.


title: File di Testo in access

text:
Mitico,

buona parte della routine è stata eseguita, ma la parte dell'importazione
mi da un'errore. La parte indicata con gli ***** mi da errore ma non ho
capito perchè. Chiaramente io ora ho importato un file con nome
"Maddalena_Francesco.acp", ma credo si possa mettere "*.acp".

Comunque un passo alla volta altrimenti inciampo. Il codice che mi
hai mandato lo modificato così:

Private Sub Comando13_Click()

Dim fileAcp As String, directory As String, checkErr

checkErr = False

directory = "C:\act\Progetti\IMP_RETE1\"

fileAcp = InputBox("Maddalena_Francesco.acp", "ImportaACP", "Prova")

Rem verifica errori

Rem verifica se è stato inserita l'estensione

If InStr(1, fileAcp, ".acp") = 0 Then

    fileAcp = fileAcp & ".acp"

End If

Rem verifica se la variabile è vuota

If IsEmpty(fileAcp) Then

    checkErr = True

Else

    MsgBox "Inserire il nome della tabella. Dati non
importati.", vbOKOnly, "Errore"

End If

Rem verifica se esiste il file

If Dir(directory & fileAcp) = "" Then

    checkErr = True

Else

    MsgBox "I file " & directory & fileAcp &
" non esiste. Dati non importati", vbOKOnly, "Errore"

End If

Rem se non ci sono errori importiamo i dati

If Not checkErr Then

Rem vuoto la tabella

    DoCmd.RunSQL "DELETE * FROM Prova;"

Rem importo i dati

*****    DoCmd.TransferText acImportFixed, "nomeSpecifica",
"Prova", directory & fileAcpMsgBox "Maddalena_Francesco.acp" &
percorso & fileAcp & "è stato importato.", vbOKOnly , "Importazione
file acp"*****

End If

End Sub

Non capisco il problema alla riga ****. Forse tu sai dirmi dove sbaglio.

Ciao




title: File di Testo in access

text:
Per favore non inviare messaggi in HTML!
Tra fileAcp e Msgbox c'è un invio (return)...
Ciao.


title: File di Testo in access

author: Silvio Berruti

text:
"Sergio MAZZA (tiscali)" <
sergi...@tiscalinet.it
> ha scritto nel
messaggio news:8epjs8$miu$1...@pegasus.tiscalinet.it...
... Omissis...
> Rem verifica errori
> Rem verifica se è stato inserita l'estensione
> If InStr(1, fileAcp, ".acp") = 0 Then
>     fileAcp = fileAcp & ".acp"
> End If
> Rem verifica se la variabile è vuota
> If IsEmpty(fileAcp) Then
>     checkErr = True
> Else
>     MsgBox "Inserire il nome della tabella. Dati non importati.",
vbOKOnly,
> "Errore"
> End If
... Omissis...
Ciao,
solo una precisazione:
devi solo invertire la verifica della variabile vuota con la verifica
dell'inserimento dell'estensione.
Infatti, mi sembra che attualmente, se non viene inserito il nomefile,
controllando l'esistenza dell'estensione non la trovi e che la aggiunga; di
conseguenza la variabile fileAcp non sarà vuota e il controllo
sull'esistenza del nome del file fallisce.
Scusate l'intromissione.
Silvio


title: File di Testo in access

text:
"Silvio Berruti" <
s...@gma.it
> ha scritto nel messaggio
news:8erl4k$ec5$1...@fe1.cs.interbusiness.it...

Mea culpa!


title: File di Testo in access

text:
Scusa per il messaggio in HTML.
Ho fatto ciò che hai indicato ed ora gira, chiaramente non funziona
ancora.
Lanciando la routine mi appere un Box in cui mi indica che Impora un
file Acp sotto il nome della mia tabella "Prova". Facendo OK mi dice
Inserire il nome della tabella. Dati non disponibili.
Ho individuato il punto in cui da questo errore ma il percorso è giusto
ed il file non è vuoto.
---------------
Private Sub Comando13_Click()
Dim fileAcp As String, directory As String, checkErr
checkErr = False
directory = "C:\act\Progetti\IMP_RETE1\"
fileAcp = InputBox("*.acp", "Importa File ACP", "Prova")
Rem verifica errori
Rem verifica se è stato inserita l'estensione
If InStr(1, fileAcp, ".acp") = 0 Then
    fileAcp = fileAcp & ".acp"
End If
Rem verifica se la variabile è vuota
If IsEmpty(fileAcp) Then
    checkErr = True
Else
    MsgBox "Inserire il nome della tabella. Dati non importati.",
vbOKOnly, "Errore"
End If
Rem verifica se esiste il file
If Dir(directory & fileAcp) = "" Then
    checkErr = True
Else
    MsgBox "I file " & directory & fileAcp & " non esiste. Dati non
importati", vbOKOnly, "Errore"
End If
Rem se non ci sono errori importiamo i dati
If Not checkErr Then
Rem vuoto la tabella
    DoCmd.RunSQL "DELETE * FROM Prova;"
Rem importo i dati
    DoCmd.TransferText acImportFixed, "nomeSpecifica", "Prova",
directory & fileAcp
    MsgBox "*.acp" & directory & fileAcp & "è stato importato.",
vbOKOnly, "Importazione file acp"
End If
End Sub
------------------
Come vedrai io ho messo *.acp perchè come indicato nei post precedenti i
file potrebbero essere più di uno e mergiati tutti nella tabella
"Prova".
Ciao



title: File di Testo in access

text:
"Pippo Go" <
pi...@pippo.it
> ha scritto nel messaggio
news:39116021...@pippo.it...
---------- omissis -----------------
> Come vedrai io ho messo *.acp perchè come indicato nei post precedenti i
> file potrebbero essere più di uno e mergiati tutti nella tabella
> "Prova".
>
> Ciao
>
> Sergio MAZZA wrote:
>
> > Per favore non inviare messaggi in HTML!
> >
> > Tra fileAcp e Msgbox c'è un invio (return)...
> >
> > Ciao.
>
La stringa "Prova" è il default dell'inputbox() (vedi l'help) per evitare
che l'utente non inserisca nulla; chiaramente non è un controllo dell'input
"magistrale", ma almeno è un inizio. Considera anche il messaggio di Silvio
che faceva notare anche un'altra pecca; che se l'utente non inserisce nulla
(variabile fileAcp vuota) ti ritrovi la variabile che contiene solo .acp,
che chiaramente non è... Cacchio! Aspetta ho riletto la routine e ci sono
altre cacchiate.
Così dovrebbe andare.
Private Sub Comando13_Click()
Dim fileAcp As String, directory As String
directory = "C:\act\Progetti\IMP_RETE1\"
fileAcp = InputBox("*.acp", "Importa File ACP", "Prova.acp")
Rem verifica errori
Rem verifica se la variabile è vuota
If IsEmpty(fileAcp) Then
    MsgBox "Inserire il nome della tabella. Dati non importati.",vbOKOnly,
"Errore"
    exit sub
End If
Rem verifica se è stato inserita l'estensione
If InStr(1, fileAcp, ".acp") = 0 Then
    fileAcp = fileAcp & ".acp"
End If
Rem verifica se esiste il file
If Dir(directory & fileAcp) = "" Then
    MsgBox "I file " & directory & fileAcp & " non esiste. Dati
nonimportati", vbOKOnly, "Errore"
    exit sub
End If
Rem se non ci sono errori importiamo i dati
Rem vuoto la tabella
DoCmd.RunSQL "DELETE * FROM Prova;"
Rem importo i dati
DoCmd.TransferText acImportFixed, "nomeSpecifica", "Prova",directory &
fileAcp
MsgBox "*.acp" & directory & fileAcp & "è stato importato.",vbOKOnly,
"Importazione file acp"
End Sub
Note:
- come dicevo prima, l'istruzione inputbox() ha tre parametri (i più
utilizzati) che sono:
    InputBox(prompt[, title] [, default])
    prompt = al suo posto inserisci una stringa da visualizzare come
messaggio all'utente;
    title = stringa che rappresenta il titolo della finestra;
    default = valore di default (appunto) che viene inserito automaticamente
nel campo proprio per evitare che premendo invio accidentalmente, la
variabile sia vuota.
- idem con patate per msgbox (vedi l'help).
In pratica con questa routine dovrai premere il bottone di importazione
dati, per ogni file acp. Avevo un sentore del fatto che volevi tutti i file
importati in un colpo solo quindi a routine sarà:
Private Sub Comando13_Click()
Dim fileAcpDaTrovare As String, directory As String
directory = "C:\act\Progetti\IMP_RETE1\"
fileAcpDaTrovare = directory & "*.acp"
If Dir(fileAcpDaTrovare) = "" Then
    MsgBox "file .acp non trovati"
    Exit Sub
End If
fileAcpTrovati = Dir(fileAcpDaTrovare)
Rem vuoto la tabella
DoCmd.RunSQL "DELETE * FROM Prova;"
Rem importo ogni file acp
Do While fileAcpTrovati <> ""
    If fileAcpTrovati <> "" Then
Rem importo i dati
        DoCmd.TransferText acImportFixed, "nomeSpecifica", "Prova",
fileAcpTrovati
    End If
    fileAcpTrovati = Dir
Loop
End Sub
AriNote: devi sostituire la stringa "nomeSpecifica" con il nome della
specifica di importazione che hai salvato;
               devi sostituire la stringa "Prova" con il nome della tabella
che hai creato e che conterrà i dati dei file acp.
Ciao.


title: File di Testo in access

text:
Non c'è problema Silvio, siamo qui per risolvere un dilemma.
Silvio Berruti wrote:
> "Sergio MAZZA (tiscali)" <
sergi...@tiscalinet.it
> ha scritto nel
> messaggio news:8epjs8$miu$1...@pegasus.tiscalinet.it...
>
> ... Omissis...
>
> > Rem verifica errori
> > Rem verifica se è stato inserita l'estensione
> > If InStr(1, fileAcp, ".acp") = 0 Then
> >     fileAcp = fileAcp & ".acp"
> > End If
> > Rem verifica se la variabile è vuota
> > If IsEmpty(fileAcp) Then
> >     checkErr = True
> > Else
> >     MsgBox "Inserire il nome della tabella. Dati non importati.",
> vbOKOnly,
> > "Errore"
> > End If
>



title: File di Testo in access

text:
Ho provato nuovamente, diciamo che la tabella sono riuscito a svuotarla, ma non
ha riempirla.
Mi è venuta anche una malsana idea, questa routine che potrebbe essere molto
utile ed applicata ad importazioni di file di vario tipo, potrebbe essere
pubblicata su
http://members.xoom.it/it_db_access/
.
Nell'imputBox mi appare un file di default che ha nome Prova.acp. Sarebbe
interessante se nell'inputBox si potesse inserire una strigna tipo *.acp *.txt
*.miononno, ecc ecc.
Capirai bene che una routine di questo tipo può importare in una tabella,
preventivamente costruita in access, file dello stesso tipo da una directory ben
specifica e mergiati nella tabella stessa.
Grandioso sarebbe se i Box fossero 2, uno che chiede quale directory vuoi e
l'altro che chiede l'estensione dei file.
Ti allego il file con cui stò provando
che si trova nella dir: C:\act\Progetti\IMP_RETE1
Nota.
Volevo precisare che la tebella del mio Datbase di access al momento si chiama
"Prova".
Sergio MAZZA wrote:
> "Pippo Go" <
pi...@pippo.it
> ha scritto nel messaggio
> news:39116021...@pippo.it...
> ---------- omissis -----------------
> > Come vedrai io ho messo *.acp perchè come indicato nei post precedenti i
> > file potrebbero essere più di uno e mergiati tutti nella tabella
> > "Prova".
> >
> > Ciao
> >
> > Sergio MAZZA wrote:
> >
> > > Per favore non inviare messaggi in HTML!
> > >
> > > Tra fileAcp e Msgbox c'è un invio (return)...
> > >
> > > Ciao.
> >
> La stringa "Prova" è il default dell'inputbox() (vedi l'help) per evitare
> che l'utente non inserisca nulla; chiaramente non è un controllo dell'input
> "magistrale", ma almeno è un inizio. Considera anche il messaggio di Silvio
> che faceva notare anche un'altra pecca; che se l'utente non inserisce nulla
> (variabile fileAcp vuota) ti ritrovi la variabile che contiene solo .acp,
> che chiaramente non è... Cacchio! Aspetta ho riletto la routine e ci sono
> altre cacchiate.
>
> Così dovrebbe andare.
>
> Private Sub Comando13_Click()
>
> Dim fileAcp As String, directory As String
>
> directory = "C:\act\Progetti\IMP_RETE1\"
>
> fileAcp = InputBox("*.acp", "Importa File ACP", "Prova.acp")
>
> Rem verifica errori
> Rem verifica se la variabile è vuota
> If IsEmpty(fileAcp) Then
>     MsgBox "Inserire il nome della tabella. Dati non importati.",vbOKOnly,
> "Errore"
>     exit sub
> End If
>
> Rem verifica se è stato inserita l'estensione
> If InStr(1, fileAcp, ".acp") = 0 Then
>     fileAcp = fileAcp & ".acp"
> End If
>
> Rem verifica se esiste il file
> If Dir(directory & fileAcp) = "" Then
>     MsgBox "I file " & directory & fileAcp & " non esiste. Dati
> nonimportati", vbOKOnly, "Errore"
>     exit sub
> End If
>
> Rem se non ci sono errori importiamo i dati
> Rem vuoto la tabella
> DoCmd.RunSQL "DELETE * FROM Prova;"
> Rem importo i dati
> DoCmd.TransferText acImportFixed, "nomeSpecifica", "Prova",directory &
> fileAcp
> MsgBox "*.acp" & directory & fileAcp & "è stato importato.",vbOKOnly,
> "Importazione file acp"
>
> End Sub
>
> Note:
> - come dicevo prima, l'istruzione inputbox() ha tre parametri (i più
> utilizzati) che sono:
>     InputBox(prompt[, title] [, default])
>     prompt = al suo posto inserisci una stringa da visualizzare come
> messaggio all'utente;
>     title = stringa che rappresenta il titolo della finestra;
>     default = valore di default (appunto) che viene inserito automaticamente
> nel campo proprio per evitare che premendo invio accidentalmente, la
> variabile sia vuota.
> - idem con patate per msgbox (vedi l'help).
>
> In pratica con questa routine dovrai premere il bottone di importazione
> dati, per ogni file acp. Avevo un sentore del fatto che volevi tutti i file
> importati in un colpo solo quindi a routine sarà:
>
> Private Sub Comando13_Click()
>
> Dim fileAcpDaTrovare As String, directory As String
>
> directory = "C:\act\Progetti\IMP_RETE1\"
>
> fileAcpDaTrovare = directory & "*.acp"
>
> If Dir(fileAcpDaTrovare) = "" Then
>     MsgBox "file .acp non trovati"
>     Exit Sub
> End If
>
> fileAcpTrovati = Dir(fileAcpDaTrovare)
>
> Rem vuoto la tabella
> DoCmd.RunSQL "DELETE * FROM Prova;"
> Rem importo ogni file acp
> Do While fileAcpTrovati <> ""
>     If fileAcpTrovati <> "" Then
> Rem importo i dati
>         DoCmd.TransferText acImportFixed, "nomeSpecifica", "Prova",
> fileAcpTrovati
>     End If
>     fileAcpTrovati = Dir
> Loop
>
> End Sub
>
> AriNote: devi sostituire la stringa "nomeSpecifica" con il nome della
> specifica di importazione che hai salvato;
>                devi sostituire la stringa "Prova" con il nome della tabella
> che hai creato e che conterrà i dati dei file acp.
>
> Ciao.


title: File di Testo in access

text:
Allegato file .acp
Scusa ma non riuscivo a postare con il file attach, per cui lo mando così,
copialo in notepad e chiamalo come vuoi .acp
 98           TAVERNOLA      2320          48           5
 98           VIGOLO         672           65           5
 98           AGNOSINE       1757          41           5
 98           AZZANO MEL     1537          82           5
 98           BAGNOLO ME     10863         82           5
 98           BARBARIGA      1978          79           5
 98           BARGHE         1079          57           5
 98           BEDIZZOLE      8368          84           5
 98           BERLINGO       1707          80           5
 98           BIONE          1306          51           5
 98           BORGOSATOL     7638          85           5
 98           BOTTICINO      9642          82           5
 98           BOVEZZO        7358          103          5
 98           BRANDICO       877           81           5
 98           BRESCIA        190942        89           5
 98           BRIONE BS      495           61           5
 98           CAINO          1397          98           5
 98           CALCINATO      9635          80           5
 98           CALVAGESE      2081          81           5
 98           CAPRIANO D     3657          79           5
 98           CASTEGNATO     5516          81           5
 98           CASTEL MEL     6988          84           5
 98           CASTENEDOL     8481          85           5
 98           CASTO          1719          31           5
 98           CAZZAGO SA     9194          78           5
 98           CELLATICA      4720          73           5
 98           COLLEBEATO     4408          95           5
 98           CONCESIO       12610         98           5
 98           DELLO          3802          80           5
 98           FLERO          7583          86           5
 98           GARDONE VA     10823         51           5
 98           GAVARDO        9339          51           5
 98           GHEDI          14409         83           5
 98           GUSSAGO        13587         83           5
 98           ISEO           8282          40           5
 98           LODRINO        1498          42           5
 98           LOGRATO        2748          81           5
 98           LONATO         11194         81           5
 98           LONGHENA       532           81           5
 98           LUMEZZANE      23690         61           5
 98           MACLODIO       1092          81           5
 98           MAIRANO        2083          82           5
 98           MARCHENO       4096          61           5
 98           MAZZANO        7907          87           5
 98           MONTE ISOL     1790          36           5
 98           MONTICELLI     3122          64           5
 98           MONTICHIAR     17022         79           5
 98           MONTIRONE      3258          83           5
 98           MURA           743           56           5
 98           MUSCOLINE      1804          78           5
 98           NAVE           9965          106          5
 98           NUVOLENTO      3213          80           5
 98           NUVOLERA       3057          55           5
 98           ODOLO          1926          37           5
 98           OFFLAGA        3078          79           5
 98           OME            2690          52           5
 98           OSPITALETT     9738          81           5
 98           PADENGHE S     3065          54           5
 98           PADERNO FR     2948          81           5
 98           PAITONE        1457          71           5
 98           PASSIRANO      5272          81           5
 98           POLAVENO       2176          53           5
 98           POLPENAZZE     1647          52           5
 98           PONCARALE      3534          83           5
 98           PRESEGLIE      1429          62           5
 98           PREVALLE       4559          82           5
 98           PROVAGLIO      5332          73           5
 98           PROVAGLIO      864           66           5
 98           PUEGNAGO S     2218          64           5
 98           REZZATO        11869         91           5
 98           RODENGO-SA     5751          82           5
 98           ROE' VOLCI     3901          40           5
 98           RONCADELLE     7324          84           5
 98           SABBIO CHI     2821          45           5
 98           SALE MARAS     3065          35           5
 98           SALO'          9824          42           5
 98           SAN PAOLO      3528          76           5
 98           SAN ZENO N     3292          87           5
 98           SAREZZO        11146         51           5
 98           SERLE          2829          83           5
 98           SOIANO DEL     1292          58           5
 98           SULZANO        1382          54           5
 98           TORBOLE CA     4344          83           5
 98           TRAVAGLIAT     10065         82           5
 98           TREVISO BR     572           40           5
 98           VALLIO TER     1053          37           5
 98           VESTONE        4168          38           5
 98           VILLA CARC     10000         76           5
 98           VILLANUOVA     4548          49           5
 98           VOBARNO        7368          13           5
 98           CASTIGLION     17045         79           5
Sergio MAZZA wrote:
> "Pippo Go" <
pi...@pippo.it
> ha scritto nel messaggio
> news:39116021...@pippo.it...
> ---------- omissis -----------------
> > Come vedrai io ho messo *.acp perchè come indicato nei post precedenti i
> > file potrebbero essere più di uno e mergiati tutti nella tabella
> > "Prova".
> >
> > Ciao
> >
> > Sergio MAZZA wrote:
> >
> > > Per favore non inviare messaggi in HTML!
> > >
> > > Tra fileAcp e Msgbox c'è un invio (return)...
> > >
> > > Ciao.
> >
> La stringa "Prova" è il default dell'inputbox() (vedi l'help) per evitare
> che l'utente non inserisca nulla; chiaramente non è un controllo dell'input
> "magistrale", ma almeno è un inizio. Considera anche il messaggio di Silvio
> che faceva notare anche un'altra pecca; che se l'utente non inserisce nulla
> (variabile fileAcp vuota) ti ritrovi la variabile che contiene solo .acp,
> che chiaramente non è... Cacchio! Aspetta ho riletto la routine e ci sono
> altre cacchiate.
>
> Così dovrebbe andare.
>
> Private Sub Comando13_Click()
>
> Dim fileAcp As String, directory As String
>
> directory = "C:\act\Progetti\IMP_RETE1\"
>
> fileAcp = InputBox("*.acp", "Importa File ACP", "Prova.acp")
>
> Rem verifica errori
> Rem verifica se la variabile è vuota
> If IsEmpty(fileAcp) Then
>     MsgBox "Inserire il nome della tabella. Dati non importati.",vbOKOnly,
> "Errore"
>     exit sub
> End If
>
> Rem verifica se è stato inserita l'estensione
> If InStr(1, fileAcp, ".acp") = 0 Then
>     fileAcp = fileAcp & ".acp"
> End If
>
> Rem verifica se esiste il file
> If Dir(directory & fileAcp) = "" Then
>     MsgBox "I file " & directory & fileAcp & " non esiste. Dati
> nonimportati", vbOKOnly, "Errore"
>     exit sub
> End If
>
> Rem se non ci sono errori importiamo i dati
> Rem vuoto la tabella
> DoCmd.RunSQL "DELETE * FROM Prova;"
> Rem importo i dati
> DoCmd.TransferText acImportFixed, "nomeSpecifica", "Prova",directory &
> fileAcp
> MsgBox "*.acp" & directory & fileAcp & "è stato importato.",vbOKOnly,
> "Importazione file acp"
>
> End Sub
>
> Note:
> - come dicevo prima, l'istruzione inputbox() ha tre parametri (i più
> utilizzati) che sono:
>     InputBox(prompt[, title] [, default])
>     prompt = al suo posto inserisci una stringa da visualizzare come
> messaggio all'utente;
>     title = stringa che rappresenta il titolo della finestra;
>     default = valore di default (appunto) che viene inserito automaticamente
> nel campo proprio per evitare che premendo invio accidentalmente, la
> variabile sia vuota.
> - idem con patate per msgbox (vedi l'help).
>
> In pratica con questa routine dovrai premere il bottone di importazione
> dati, per ogni file acp. Avevo un sentore del fatto che volevi tutti i file
> importati in un colpo solo quindi a routine sarà:
>
> Private Sub Comando13_Click()
>
> Dim fileAcpDaTrovare As String, directory As String
>
> directory = "C:\act\Progetti\IMP_RETE1\"
>
> fileAcpDaTrovare = directory & "*.acp"
>
> If Dir(fileAcpDaTrovare) = "" Then
>     MsgBox "file .acp non trovati"
>     Exit Sub
> End If
>
> fileAcpTrovati = Dir(fileAcpDaTrovare)
>
> Rem vuoto la tabella
> DoCmd.RunSQL "DELETE * FROM Prova;"
> Rem importo ogni file acp
> Do While fileAcpTrovati <> ""
>     If fileAcpTrovati <> "" Then
> Rem importo i dati
>         DoCmd.TransferText acImportFixed, "nomeSpecifica", "Prova",
> fileAcpTrovati
>     End If
>     fileAcpTrovati = Dir
> Loop
>
> End Sub
>
> AriNote: devi sostituire la stringa "nomeSpecifica" con il nome della
> specifica di importazione che hai salvato;
>                devi sostituire la stringa "Prova" con il nome della tabella
> che hai creato e che conterrà i dati dei file acp.
>
> Ciao.


title: File di Testo in access

text:
"Pippo Go" <
pi...@pippo.it
> ha scritto nel messaggio
news:3912DC83...@pippo.it...
.... omissis ........
>
Non sei ruscito ad inviare il file perché (se non ricordo male) non sono
permessi gli attachment; neanche se gli metti come oggetto I LOVE YOU... Con
me non attacca! Ho preso i voti...
Per quanto riguarda la pubblicazione sul sito comune; non credo che una
routine così possa interessare. Chi eventualmente è interessato o ha già
fatto copia/incolla o ha preso spunto per adattarla alle sue esigenze, ed è
proprio questo lo scopo (almeno spero) di inviarlo pubblicamente sull'NG e
non privatamente con l'e-mail.
Un consiglio; abbandona l'idea di utilizzare nomi per tabelle o campi tipo:
Prova, tabella1 o campo1 2 etc... Non sono descrittivi e alla fine non ti ci
raccapezzi più! Piuttosto ingegnati a studiare il codice che trovi sull'NG
anche guardando l'help; non è la via migliore, però è un inizio, il
successivo sono i libri...
Mi faccio vivo fra poco.
Ciao.


title: File di Testo in access

author: AntoGal

text:
Pippo Go <
pi...@pippo.it
> scrisse...
> Mi è venuta anche una malsana idea, questa routine che potrebbe essere
molto
> utile ed applicata ad importazioni di file di vario tipo, potrebbe essere
> pubblicata su
>
http://members.xoom.it/it_db_access/
.
ehm...  DoCmd.TransferText è già ben documentata nell'help... ;-)
> Nell'imputBox mi appare un file di default che ha nome Prova.acp. Sarebbe
> interessante se nell'inputBox si potesse inserire una strigna tipo *.acp
*.txt
> *.miononno, ecc ecc.
Fai attenzione piuttosto ad una cosa: se usi A2000 o A97 aggiornato al
Microsoft Jet Service Pack 3, la libreria MSTEXT35.DLL funziona
diversamente.
L'importazione e l'esportazione su file di testo funzionano solo se il file
ha un'estensione tra: txt , csv, tab, asc, htm, html.
Per intenderci, se nel programma si esegue l'istruzione:
DoCmd.TransferText acExportDelim, "MySpec", "MyTbl", "PIPPO.FIL"
il messaggio di errore che si riceve è:
"Can't Update. Database is read-only. "
L'istruzione va cambiata in:
DoCmd.TransferText acExportDelim, "MySpec", "MyTbl", "PIPPO.TXT"
L'articolo della KB Microsoft che descrive il problema (secondo loro è una
miglioria) è:
Article ID: Q239105 Jet 3.5 Text ISAM Allows Users to Append Lines to System
Files
--
Ciao, AntoGal
*************************************************
Gestione punti vendita (casse e pos NCR)

www.powerretail.it
-------------------------------------------------------------
per scaricare un gioco di DAMA ITALIANA
http://volftp.mondadori.com/italiani/galletta/
*************************************************


title: File di Testo in access

text:
Sergio MAZZA wrote:
> "Pippo Go" <
pi...@pippo.it
> ha scritto nel messaggio
> news:3912DC83...@pippo.it...
> .... omissis ........
> >
> Non sei ruscito ad inviare il file perché (se non ricordo male) non sono
> permessi gli attachment; neanche se gli metti come oggetto I LOVE YOU... Con
> me non attacca! Ho preso i voti...
Speravi ci cascassi... :-)
>
> Per quanto riguarda la pubblicazione sul sito comune; non credo che una
> routine così possa interessare. Chi eventualmente è interessato o ha già
> fatto copia/incolla o ha preso spunto per adattarla alle sue esigenze, ed è
> proprio questo lo scopo (almeno spero) di inviarlo pubblicamente sull'NG e
> non privatamente con l'e-mail.
> Un consiglio; abbandona l'idea di utilizzare nomi per tabelle o campi tipo:
> Prova, tabella1 o campo1 2 etc... Non sono descrittivi e alla fine non ti ci
> raccapezzi più! Piuttosto ingegnati a studiare il codice che trovi sull'NG
> anche guardando l'help; non è la via migliore, però è un inizio, il
> successivo sono i libri...
> Mi faccio vivo fra poco.
>
Infatti ho premesso nel post "Malsana Idea", e comunque tra tutte le routine del
sito indicato non ne ho trovato utili nemmeno una. Per quanto riguarda i nomi
delle tabelle posso capire che nomi di questo tipo siano poco descrittivi, ma al
momento non ho pensato fossero importanti.
Ho poco tempo per potermi studiare il codice, ma del tuo consiglio ne farò
comunque tesoro.
>
> Ciao.


title: File di Testo in access

text:
Ho provato anche la toutine per trovare più file .acp, ma si blocca su:
fileAcpTrovati = Dir(fileAcpDaTrovare)
Sergio MAZZA wrote:
> "Pippo Go" <
pi...@pippo.it
> ha scritto nel messaggio
> news:39116021...@pippo.it...
> ---------- omissis -----------------
> > Come vedrai io ho messo *.acp perchè come indicato nei post precedenti i
> > file potrebbero essere più di uno e mergiati tutti nella tabella
> > "Prova".
> >
> > Ciao
> >
> > Sergio MAZZA wrote:
> >
> > > Per favore non inviare messaggi in HTML!
> > >
> > > Tra fileAcp e Msgbox c'è un invio (return)...
> > >
> > > Ciao.
> >
> La stringa "Prova" è il default dell'inputbox() (vedi l'help) per evitare
> che l'utente non inserisca nulla; chiaramente non è un controllo dell'input
> "magistrale", ma almeno è un inizio. Considera anche il messaggio di Silvio
> che faceva notare anche un'altra pecca; che se l'utente non inserisce nulla
> (variabile fileAcp vuota) ti ritrovi la variabile che contiene solo .acp,
> che chiaramente non è... Cacchio! Aspetta ho riletto la routine e ci sono
> altre cacchiate.
>
> Così dovrebbe andare.
>
> Private Sub Comando13_Click()
>
> Dim fileAcp As String, directory As String
>
> directory = "C:\act\Progetti\IMP_RETE1\"
>
> fileAcp = InputBox("*.acp", "Importa File ACP", "Prova.acp")
>
> Rem verifica errori
> Rem verifica se la variabile è vuota
> If IsEmpty(fileAcp) Then
>     MsgBox "Inserire il nome della tabella. Dati non importati.",vbOKOnly,
> "Errore"
>     exit sub
> End If
>
> Rem verifica se è stato inserita l'estensione
> If InStr(1, fileAcp, ".acp") = 0 Then
>     fileAcp = fileAcp & ".acp"
> End If
>
> Rem verifica se esiste il file
> If Dir(directory & fileAcp) = "" Then
>     MsgBox "I file " & directory & fileAcp & " non esiste. Dati
> nonimportati", vbOKOnly, "Errore"
>     exit sub
> End If
>
> Rem se non ci sono errori importiamo i dati
> Rem vuoto la tabella
> DoCmd.RunSQL "DELETE * FROM Prova;"
> Rem importo i dati
> DoCmd.TransferText acImportFixed, "nomeSpecifica", "Prova",directory &
> fileAcp
> MsgBox "*.acp" & directory & fileAcp & "è stato importato.",vbOKOnly,
> "Importazione file acp"
>
> End Sub
>
> Note:
> - come dicevo prima, l'istruzione inputbox() ha tre parametri (i più
> utilizzati) che sono:
>     InputBox(prompt[, title] [, default])
>     prompt = al suo posto inserisci una stringa da visualizzare come
> messaggio all'utente;
>     title = stringa che rappresenta il titolo della finestra;
>     default = valore di default (appunto) che viene inserito automaticamente
> nel campo proprio per evitare che premendo invio accidentalmente, la
> variabile sia vuota.
> - idem con patate per msgbox (vedi l'help).
>
> In pratica con questa routine dovrai premere il bottone di importazione
> dati, per ogni file acp. Avevo un sentore del fatto che volevi tutti i file
> importati in un colpo solo quindi a routine sarà:
>
> Private Sub Comando13_Click()
>
> Dim fileAcpDaTrovare As String, directory As String
>
> directory = "C:\act\Progetti\IMP_RETE1\"
>
> fileAcpDaTrovare = directory & "*.acp"
>
> If Dir(fileAcpDaTrovare) = "" Then
>     MsgBox "file .acp non trovati"
>     Exit Sub
> End If
>
> fileAcpTrovati = Dir(fileAcpDaTrovare)
>
> Rem vuoto la tabella
> DoCmd.RunSQL "DELETE * FROM Prova;"
> Rem importo ogni file acp
> Do While fileAcpTrovati <> ""
>     If fileAcpTrovati <> "" Then
> Rem importo i dati
>         DoCmd.TransferText acImportFixed, "nomeSpecifica", "Prova",
> fileAcpTrovati
>     End If
>     fileAcpTrovati = Dir
> Loop
>
> End Sub
>
> AriNote: devi sostituire la stringa "nomeSpecifica" con il nome della
> specifica di importazione che hai salvato;
>                devi sostituire la stringa "Prova" con il nome della tabella
> che hai creato e che conterrà i dati dei file acp.
>
> Ciao.


title: File di Testo in access

text:
"Pippo Go" <
pi...@pippo.it
> ha scritto nel messaggio
news:39167B0A...@pippo.it...
> Ho provato anche la toutine per trovare più file .acp, ma si blocca su:
>
> fileAcpTrovati = Dir(fileAcpDaTrovare)
>
> Sergio MAZZA wrote:
>
>
Mettiti comodo che inizio...
ho inserito nella maschera:
1 casella di testo nominata [directory];
  1.1 proprietà - scheda "dati" - "valore predefinito":
="C:\act\Progetti\IMP_RETE1\";
  1.2 proprietà - scheda "evento" - "su disattivato":
------ inizio routine da inserire --------------
Private Sub directory_LostFocus()
Dim fileAcpTrovati As String, fileAcpDaTrovare As String, ritorno As String,
noFile As Boolean
fileAcpDaTrovare = Me.directory & "*.acp"
ritorno = ""
Rem aggiunge lo slash finale
If Right(Me.directory, 1) <> "\" Then
    Me.directory = Me.directory & "\"
End If
Rem controlla se ci sono file acp
If Dir(fileAcpDaTrovare) = "" Then
    Me.elencoFileAcp.RowSource = "(Nessun file trovato)"
    Me.bttnImporta.Enabled = False
    GoTo exit_directory_LostFocus
End If
Me.elencoFileAcp.RowSource = ""
Rem primo file
Me.bttnImporta.Enabled = True
fileAcpTrovati = Dir(fileAcpDaTrovare)
Rem leggo i file acp
Do While fileAcpTrovati <> ""
    If fileAcpTrovati <> "" Then
        ritorno = ritorno & IIf(ritorno = "", fileAcpTrovati, ";" &
fileAcpTrovati)
    End If
    fileAcpTrovati = Dir
Loop
Me.elencoFileAcp.RowSource = ritorno
exit_directory_LostFocus:
End Sub
------ fine routine da inserire --------------
2 casella combinata nominata [elencoFileAcp];
    2.1 propietà scheda "formato" - numero colonne 1;
    2.2 scheda "dati" - "tipo origine riga" - elenco valori"
    2.3 "origine riga" - (stringa) "(elenco vuoto)"
3 bottone nominato [bttnImporta];
    3.1 proprietà scheda "dati" - "abilitato" No;
    3.2 evento "su clic"
------ inizio routine da inserire --------------
Private Sub bttnImporta_Click()
On Error GoTo bttnImporta_Click_err
If Me.elencoFileAcp = "(selezionare un file)" Then
    MsgBox "Selezionare un file dall'elenco", vbOKOnly, "Importa file ACP"
    GoTo bttnImporta_click_exit
End If
DoCmd.SetWarnings False
Rem vuoto la tabella
DoCmd.RunSQL "DELETE Prova.* FROM Prova;"
Rem importo i dati
DoCmd.TransferText acImportFixed, "Prova", "Prova", Me.directory &
Me.elencoFileAcp
DoCmd.SetWarnings True
MsgBox "File: " & Me.elencoFileAcp & ", importato!"
bttnImporta_click_exit:
    Exit Sub
bttnImporta_Click_err:
    MsgBox Err.Description & ", " & Err.Number
End Sub
------ fine routine da inserire --------------
Ricapitolando; una casella di testo [directory]; una casella combinata
[elencoFileAcp] ed un bottone [bttnImporta]. Gli eventi controllati sono:
- per la casella di testo "lostfocus", quando si esce dalla casella
controlla se ci sono file .acp nella directory che hai indicato. Se esistono
li inserisce nella casella combinata e abilita il bottone;
- per il bottone (ovviamente) è "click", che controlla se hai selezionato un
nome di file dall'elenco (non la prima voce), vuota la tabella e importa i
dati.
Auguri!


title: File di Testo in access

text:
Quasi ci siamo, la prima parte della routine ha funzionato benissimo, la seconda
sul click del bottone mi dice:
The text file specification "Prova" does not exist. You can't import, export, or
link using the specification.
NOTA:
Ho poi provato a fare una modifica ed ho messo una casella di riepilogo al posto
della casella combinata, con la possibilità di selezionare più file. Non so se
si può fare ma in questo modo posso importare più file .ACP in un colpo solo e
mergiarli tutti nella mia tabella "Prova".
Sergio MAZZA wrote:
> "Pippo Go" <
pi...@pippo.it
> ha scritto nel messaggio

> Rem vuoto la tabella
> DoCmd.RunSQL "DELETE Prova.* FROM Prova;"
> Rem importo i dati



title: File di Testo in access

text:
"Pippo Go" <
pi...@pippo.it
> ha scritto nel messaggio
news:3916CFBB...@pippo.it...
> Quasi ci siamo, la prima parte della routine ha funzionato benissimo, la
seconda
> sul click del bottone mi dice:
> The text file specification "Prova" does not exist. You can't import,
export, or
> link using the specification.
>
> NOTA:
> Ho poi provato a fare una modifica ed ho messo una casella di riepilogo al
posto
> della casella combinata, con la possibilità di selezionare più file. Non
so se
> si può fare ma in questo modo posso importare più file .ACP in un colpo
solo e
> mergiarli tutti nella mia tabella "Prova".
>
>
>
Lo stavo per scrivere ma pensavo di essere stato chiaro; il messaggio di
errore è riferito al nome della specifica che hai salvato (perché tu l'hai
salvata, vero!!???) quando hai importato e creato la tabella chiamata Prova.
Puoi farne quello che vuoi della routine, è sicuramente migliorabile. A te
l'ardito compito. Ricordati che la casella combinata restituisce un solo
nome di file, mentre la casella di riepilogo con abilitata la selezione
multipla ne restituisce più di uno; e il docmd.transfertext, nel bottone
[bttnImporta], ha come parametro un solo nome di file; quindi dovresti
crearti un ciclo che cicla (spiritoso!) per quanti nomi hai selezionato
nella casella di riepilogo...
Ciao.


title: File di Testo in access

text:
Finalmente ho partorito, o meglio, hai partorito ed io ho riconosciuto la mia
prima routine. Ho finalmente importato i dati.
Ora provo il loop per importarli tutti e mergialrli tra di loro, se riesco non
mi sentirai più, e credo che questo ti renda felice :-)).
Se troverai il post di un disperato che nel subject chiede come fare i loop ....
Bhe vedi un po' tu.
Grazie ancora.
Ciao
Sergio MAZZA wrote:
> "Pippo Go" <
pi...@pippo.it
> ha scritto nel messaggio



title: File di Testo in access

text:
"Pippo Go" <
pi...@pippo.it
> ha scritto nel messaggio
news:3917C369...@pippo.it...
> Finalmente ho partorito, o meglio, hai partorito ed io ho riconosciuto la
mia
> prima routine. Ho finalmente importato i dati.
> Ora provo il loop per importarli tutti e mergialrli tra di loro, se riesco
non
> mi sentirai più, e credo che questo ti renda felice :-)).
>
> Se troverai il post di un disperato che nel subject chiede come fare i
loop ....
> Bhe vedi un po' tu.
>
> Grazie ancora.
>
> Ciao
>
Sono padre!!!


title: File di Testo in access

text:
Sono ancora Io, ho provato in tutti i modi, ma con la casella di riepilogo con
abilitata la possibilità di selezionae multipla mi dice:
Ivalid Argument.
Anche selezionando un solo file, per cui penso che prima del loop ci sia qualche
cosa d'altro:
Private Sub bttnImporta_Click()
On Error GoTo bttnImporta_Click_err
If Me.elencoFileAcp = "(selezionare un file)" Then
    MsgBox "Selezionare un file dall'elenco", vbOKOnly, "Importa file ACP"
    GoTo bttnImporta_click_exit
End If
DoCmd.SetWarnings False
Rem vuoto la tabella
DoCmd.RunSQL "DELETE Prova.* FROM Prova;"
Rem importo i dati
DoCmd.TransferText acImportFixed, "SpecificaACP", "Prova", Me.directory &
Me.elencoFileAcp
DoCmd.SetWarnings True
MsgBox "File: " & Me.elencoFileAcp & ", importato!"
bttnImporta_click_exit:
    Exit Sub
bttnImporta_Click_err:
    MsgBox Err.Description & ", " & Err.Number
End Sub
Private Sub directory_LostFocus()




exit_directory_LostFocus:
End Sub
Sergio MAZZA wrote:
> "Pippo Go" <
pi...@pippo.it
> ha scritto nel messaggio



title: File di Testo in access

text:
"Pippo Go" <
pi...@pippo.it
> ha scritto nel messaggio
news:3918057A...@pippo.it...
> Sono ancora Io, ho provato in tutti i modi, ma con la casella di riepilogo
con
> abilitata la possibilità di selezionae multipla mi dice:
>
> Ivalid Argument.
>
> Anche selezionando un solo file, per cui penso che prima del loop ci sia
qualche
> cosa d'altro:
>
>
La subroutine del bottone [bttnImporta] la devi sostituire con:
Private Sub bttnImporta_Click()
On Error GoTo bttnImporta_Click_err
Dim fAcp
If Me.elencoFileacp.ItemsSelected.Count > 0 Then
    For Each fAcp In Me.elencoFileacp.ItemsSelected
        DoCmd.SetWarnings False
        Rem vuoto la tabella
        DoCmd.RunSQL "DELETE Prova.* FROM Prova;"
        Rem importo i dati
        DoCmd.TransferText acImportFixed, "Prova", "Prova", Me.directory2 &
Me.elencoFileacp.ItemData(fAcp)
        DoCmd.SetWarnings True
        MsgBox "File: " & Me.elencoFileacp.ItemData(fAcp) & ", importato!"
    Next
    DoCmd.SetWarnings True
Else
    MsgBox "Selezionare un file dall'elenco", vbOKOnly, "Importa file ACP"
    GoTo bttnImporta_click_exit
End If
bttnImporta_click_exit:
    Exit Sub
bttnImporta_Click_err:
    DoCmd.SetWarnings True
    MsgBox Err.Description & ", " & Err.Number
End Sub
In pratica era quello che ti dicevo; la casella di riepilogo la devi
impostare con la selezione multipla - scheda altro - "selezione multipla -
semplice; poi devi leggere quanti nomi di file hai selezionato dalla lista
(Me.elencoFileacp.ItemsSelected) e avrai il nome del file
(Me.elencoFileacp.ItemData(fAcp), dove fAcp è l'indice della lista)...
Ciao.


title: File di Testo in access

text:
"Pippo Go" <
pi...@pippo.it
> ha scritto nel messaggio
news:3918057A...@pippo.it...
>
E' solo una curiosità, ma l'estensione acp è inventata o viene da
un'applicazione? Perché sul mio pc è riconosciuta nel registry come file di
tipo Office.ActorPreview. Se è inventata ti consiglio di cambiarla con
un'altra meno "particolare"...
Ciao.


title: File di Testo in access

text:
No, è assolutamente inventata e non da me. E' una programma che effettua
calcoli sul territorio nazionale e da origine ad alcune tabelle (file.acp), con
all'interno alcuni parametri di misura (microvolt per metro quadro), in
prossimità di impianti di radiodiffusione.
Questo programma colora alcune zone sulle carte geografiche digitalizzate e
genera questi file.
Come potrai immaginare questi file opportunamente importati e rielaborati
possono essere utili per fare statistiche di vario tipo.
Ciao
Sergio MAZZA wrote:
> "Pippo Go" <
pi...@pippo.it
> ha scritto nel messaggio
