title: Pagine ASP

author: Sergio MAZZA

text:
"Bart" <
ba...@tiscalinet.it
> ha scritto nel messaggio
news:94401b$574$1...@lacerta.tiscalinet.it...
>
>
> Ho lanciato anche il PWS presente sul cd din win98 ma non succede comunque
> niente!
>
> Ciao
>
Con l'utilità per l'amministrazione del pws devi crearti una directory
virtuale che corrisponde alla directory dove salvi le pagine web (asp, html
etc. etc.)...
Ciao.
P.S. Anche con IIS devi comunque crearti una directory virtuale (o sito a
seconda dei casi).


title: Pagine ASP

author: Lbo

text:
>> se le cose non sono cambiate nel frattempo, hai bisogno o del PWS o
>> dell' IIS
>> ce li hai?
>Io però uso win Me o Win 98, l' IIS se non erro è presente solo nella
>famiglia NT o 2000,
IIS o PWS (Personal Web Server) sono lo stesso tipo di prodotto (vabè,
come dire che word e notepad sono la stessa cosa, ma è tanto per dare
un'idea), sono, cioè, dei server web, ovvero dei programmi che si
prendono in pasto gli script asp, controllano, se serve, il contenuto
del db e creano un output html che viene mandato al browser.
quindi, se i tuoi script non passano per PWS o IIS, semplicemente non
possono funzionare.  lo strato odbc da solo non serve a niente, odbc è
solo uno standard per lo scambio di dati tra db diversi.
PWS lo trovi nella cartella add-on o qualcosa del genere del cd di
windows 98.
dopo averlo installato devi anche configurare una directory virtuale,
cioè dici a pws che la directory tale sul tuo hd la soprannomini in un
certo modo.
ad esempio, la directory c:\prove\pippo la soprannomini proveweb.  ul
file pippo.asp di quella directory lo richiami digitando nella riga
del browser
http://127.0.0.1/proveweb/pippo.asp
.
--
non studio non lavoro non guardo la tv
non vado al cinema non faccio sport
----------------------------------------
il sito comune di it.comp.appl.access:
http://members.xoom.it/it_db_access


author: Romana Serafini

text:
Salve a tutti,
    avrei una domanda a proposito di quanto riportato sul sito comune sotto
queries:
      2.21 Inserire in una tabella con una query di accodamento record da un
file di testo
Come deve essere fatto il file TXT?
Es:
Colonna1 Colonna2
aaaa aaaa
bbbb bbb
I dati che vanno nella tabella devono avere un particolare carattere a
dividerli, ad esempio; o lo spazio?
Grazie per l'aiuto Sabry


title: 2.21 Inserire in una tabella con una query di accodamento record da un file di testo

author: Roberto da Parma

text:
"Romana Serafini" <
rom...@radaimpianti.it
> ha scritto nel messaggio
news:456702e1$0$7640$4faf...@reader1.news.tin.it...

Possono essere in entrambi i formati tabulare o .csv
Ciao
Roberto


title: problemi con indirizzo di export dati

author: Marzia

text:
Ciao a tutti,
devo esportare i dati su un fogli excel, ma i nomi delle cartelle del
percorso contengono spazi.
Es:
DoCmd.TransferSpreadsheet acExport, 8, "marzia.xls", " \\itcpup3\ciao
ciao\baci baci\marzia.xls", True, ""
Il codice si blocca nei due spazi. Come faccio per fargli leggere il
percorso "tutto d'un fiato"?
Le cartelle sono condivise su server quindi vorrei evitare di rinominarle.
Grazie mille
Marzia
--------------------------------
Inviato via
http://usenet.libero.it


title: problemi con indirizzo di export dati

author: namor

text:
Marzia ha scritto:
> Ciao a tutti,
> devo esportare i dati su un fogli excel, ma i nomi delle cartelle del
> percorso contengono spazi.
> Es:
> DoCmd.TransferSpreadsheet acExport, 8, "marzia.xls", " \itcpup3ciao
> ciaobaci bacimarzia.xls", True, ""
> Il codice si blocca nei due spazi. Come faccio per fargli leggere il
> percorso "tutto d'un fiato"?
> Le cartelle sono condivise su server quindi vorrei evitare di rinominarle.
> Grazie mille
> Marzia
Prova a metterci i doppi apici:
DoCmd.TransferSpreadsheet acExport, 8, "marzia.xls",
"""\\itcpup3\ciao ciao\baci baci\marzia.xls""", True, ""
Namor
--

questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news
 segnala gli abusi ad
ab...@newsland.it


title: problemi con indirizzo di export dati

author: MA

text:
> Ciao a tutti,
>
> devo esportare i dati su un fogli excel, ma i nomi delle cartelle del
> percorso contengono spazi.
>
> Es:
> DoCmd.TransferSpreadsheet acExport, 8, "marzia.xls", " \\itcpup3\ciao
> ciao\baci baci\marzia.xls", True, ""
>
> Il codice si blocca nei due spazi. Come faccio per fargli leggere il
> percorso "tutto d'un fiato"?
>
> Le cartelle sono condivise su server quindi vorrei evitare di rinominarle.
>
> Grazie mille
>
> Marzia
Connetti come unità condivisa e ti semplifichi il percorso o K:\marzia.xls
p.s. tutti quei baci che ti avanzano poi puoi darli a me... ;-)
MAssimiliano


title: Report: nascondiamo le etichette

author: Marina Buonanno

text:
Ciao, in un report è possibile nascondere, a secondo del contentuto di un
controllo, l'etichetta di un altro controllo?
Avevo provato così
Private Sub Report_Page()
    If  IsNull(UC1) Then
        Me!Etichetta57.Visible = False
        Me!Etichetta58.Visible = False
    Else
        Me!Etichetta57.Visible = True
        Me!Etichetta58.Visible = True
    End If
End Sub
... e così funziona ma se cambio
    If  me!UC1 = "Negativo" Then
non funziona più... C'è qualcuno di buona volontà che mi aiuta?
A Ri Ciao
Marina


title: Report: nascondiamo le etichette

author: Luciano

text:
Marina Buonanno ha scritto nel messaggio <8f9det$prq$
1...@nmaster.tin.it
>...
>... e cosě funziona ma se cambio
>    If  me!UC1 = "Negativo" Then
Prova If UC1.Caption. = "Negativo" Then
Ma poi il Me non vuole il punto? Come fa a funzionare con il punto
esclamativo?
Comunque il Me non e' indispensabile.
Saluti.
Luciano


title: Report: nascondiamo le etichette

text:
Luciano wrote:
>
> Marina Buonanno ha scritto nel messaggio <8f9det$prq$
1...@nmaster.tin.it
>...
>
> >... e così funziona ma se cambio
> >    If  me!UC1 = "Negativo" Then
>
> Prova If UC1.Caption. = "Negativo" Then
> Ma poi il Me non vuole il punto? Come fa a funzionare con il punto
> esclamativo?
> Comunque il Me non e' indispensabile.
> Saluti.
> Luciano
Ciao Luciano, ho provato come dici tu ma mi da un errore di run time 438
e dice : proprietà o metodo non supportati dall'oggetto.
??
Ma quello che avrei intenzione di fare è una cosa fattibile? Cioè si può
impostare il report in modo che alcuni controlli siano visibili solo se
il valore di un altro controllo è presente (ed uguale a "Positivo") ed
in caso contrario no, oppure non si può fare? Mi dai qualche altra
dritta?
Ciao e grazie Marina


title: Report: nascondiamo le etichette

author: Federico Luciani

text:
Marina Buonanno wrote:
> Luciano wrote:
> > Marina Buonanno ha scritto nel messaggio <8f9det$prq$
1...@nmaster.tin.it
>...
> > >... e così funziona ma se cambio
> > >    If  me!UC1 = "Negativo" Then
> > Prova If UC1.Caption. = "Negativo" Then
> > Ma poi il Me non vuole il punto? Come fa a funzionare con il punto
> > esclamativo?
> > Comunque il Me non e' indispensabile.
> > Saluti.
> > Luciano
> Ciao Luciano, ho provato come dici tu ma mi da un errore di run time 438
> e dice : proprietà o metodo non supportati dall'oggetto.
> Ma quello che avrei intenzione di fare è una cosa fattibile? Cioè si può
> impostare il report in modo che alcuni controlli siano visibili solo se
> il valore di un altro controllo è presente (ed uguale a "Positivo") ed
> in caso contrario no, oppure non si può fare? Mi dai qualche altra
> dritta?
> Ciao e grazie Marina
Non e' chiaro UC1 cos'e'.
se e' un etichetta allora
  If Me.UC1.Caption = "Negativo" Then
  ...
se e' un controllo testo invece
  If Me.UC1 = "Negativo" Then
  ...
Inoltre IMHO l'evento da intercettare e' SuFormattazione
della sezione dove si trovano i controlli da nascondere
Bye
--
Federico
--------------------------------------
Sito Comune di it.comp.appl.access
http://members.xoom.it/it_db_access
--------------------------------------
Tutte le richieste che mi arrivano
in privato, vengono cestinate.
--------------------------------------
Rimuovi paperino. per e-mail
--------------------------------------


title: Report: nascondiamo le etichette

author: Silvio Berruti

text:
"Marina Buonanno" <
marb...@tintinnio.it
> ha scritto nel messaggio
news:8f9det$prq$1...@nmaster.tin.it...
>
> Ciao, in un report è possibile nascondere, a secondo del contentuto di un
> controllo, l'etichetta di un altro controllo?
> Avevo provato così
>
> Private Sub Report_Page()
>     If  IsNull(UC1) Then
>         Me!Etichetta57.Visible = False
>         Me!Etichetta58.Visible = False
>     Else
>         Me!Etichetta57.Visible = True
>         Me!Etichetta58.Visible = True
>     End If
> End Sub
> ... e così funziona ma se cambio
>     If  me!UC1 = "Negativo" Then
>
> non funziona più... C'è qualcuno di buona volontà che mi aiuta?
> A Ri Ciao
> Marina
>
Ciao,
prova ad inserire la stessa procedura legandola all'evento su formattazione.
Silvio


title: Report: nascondiamo le etichette

author: Paolo

text:
da quello cho ho capito si dovrebbe poter fare; inserendo i controlli
sull'evento SuFormattazione
ammesso che tu abbia i campo1 ce contiene i valori "Positivo", "Negativo" (o
quello che vuoi, basta che sia identificabile), e campo2 quello da visualizzare
o meno a seconda del valore di campo1, io inserirei il codice seguente:
Private Sub Corpo_Format(Cancel As Integer, FormatCount As Integer)
    If Me.Campo1 = "Positivo" Then
        Me.Campo2.Visible = True
    Else
        Me.Campo2.Visible = False
    End If
End Sub
se campo1 ti interessa solo come campo di test puoi impostarlo visible = false
a livello di struttura report; il test riesce lo stesso.
Marina Buonanno wrote:
> Luciano wrote:
> >
> > Marina Buonanno ha scritto nel messaggio <8f9det$prq$
1...@nmaster.tin.it
>...
> >
> > >... e così funziona ma se cambio
> > >    If  me!UC1 = "Negativo" Then
> >
> > Prova If UC1.Caption. = "Negativo" Then
> > Ma poi il Me non vuole il punto? Come fa a funzionare con il punto
> > esclamativo?
> > Comunque il Me non e' indispensabile.
> > Saluti.
> > Luciano
>
> Ciao Luciano, ho provato come dici tu ma mi da un errore di run time 438
> e dice : proprietà o metodo non supportati dall'oggetto.
> ??



title: Report: nascondiamo le etichette

text:
Marina Buonanno <
marb...@tintinnio.it
> urla ai ragazzi del NG
:-)
Ragazzi grazie al cubo, funziona benissimo !!!!
N.B.: Ma che vuol dire IMHO?


title: Report: nascondiamo le etichette

text:
Marina Buonanno <
marb...@tintinnio.it
> dice ai ragazzi del NG



title: Report: nascondiamo le etichette

text:
Marina Buonanno wrote:
> Marina Buonanno <
marb...@tintinnio.it
> urla ai ragazzi del NG
> :-)
> Ragazzi grazie al cubo, funziona benissimo !!!!
>
> N.B.: Ma che vuol dire IMHO?
In My Honesty Opinion = secondo me :-)
--
Federico
--------------------------------------
Sito Comune di it.comp.appl.access
http://members.xoom.it/it_db_access
mailto:
it_db_...@usa.net



title: Report: nascondiamo le etichette

author: Lorenzo Coronati

text:
Scrisse Federico Luciani <
fluc...@paperino.libero.it
>:
>> N.B.: Ma che vuol dire IMHO?
>
>In My Honesty Opinion = secondo me :-)
Ma non era In My Humble Opinion?
--
Lorenzo Coronati
--
<<Nessuno sa che questa affermazione e' vera>>
(John D. Barrow)
--


title: Report: nascondiamo le etichette

text:
Lorenzo Coronati wrote:
> Scrisse Federico Luciani <
fluc...@paperino.libero.it
>:
>
> >> N.B.: Ma che vuol dire IMHO?
> >
> >In My Honesty Opinion = secondo me :-)
>
> Ma non era In My Humble Opinion?
io la sapevo cosi', cmq il risultato non cambia :-)



title: Dubbi sulla struttura.... relazioni1a1

text:
ciao e scusate l'insistenza ma mi sto facendo il mio database di gestione
lavoro e lo vorrei fare per benino.
Allora... il problema è questo:
Nel mio lavoro io devo fare dei preventivi ai clienti, però dato che ho vari
tipi di preventivi (per CAD, 3D, Pagine web, etc) e ognuno ha dei campi (e
soprattutto delle modalità di calcolo) diversi dagli altri, mi trovo un pò
in crisi.
Cioè... io pensavo (ma correggetemi se sbaglio) che forse potrei fare una
tabella contenente i dati generali del preventivo, e poi una serie di
tabelle specifiche per il tipo di preventivo richiesto.
Il problema è come le collego, pensavo ad una relazione 1a1 ma l'help di
access2000 non mi aiuta molto a comprenderne le modalità e poi dice che è
una scelta un pò atipica.
Gradirei avere delle idee in merito.
Tenete conto che:
Ogni preventivo sarà composto sempre da due parti: una generale contenente i
dati del preventivo e una specifica (scelta tra le tante) contenente i
parametri che calcolano il preventivo stesso.
- Il preventivo sarà collegato alla tabella clienti.....(non sò se vi serve
saperlo ma io ve lo dico lo stesso)
- In qualche modo io devo avere una maschera che mi permetta di inserire i
parametri e un altra maschera che mi consenta di monitorare lo stato dei
preventivi.
Basta. Finito. Per stasera spero di non avere altri problemi, grazie a tutti
quelli che sono arrivati a leggere fino a qui. E grazie a chi mi potrà dare
una mano
Ciao Mirko


title: Dubbi sulla struttura.... relazioni1a1

text:
Il Tue, 29 Aug 2000 21:36:19 GMT, "mirko3d" <
mirko7...@iol.it
>
scrisse:
>(.....)
>Nel mio lavoro io devo fare dei preventivi ai clienti, però dato che ho vari
>tipi di preventivi (per CAD, 3D, Pagine web, etc) e ognuno ha dei campi (e
>soprattutto delle modalità di calcolo) diversi dagli altri, mi trovo un pò
>in crisi.
>Cioè... io pensavo (ma correggetemi se sbaglio) che forse potrei fare una
>tabella contenente i dati generali del preventivo
Questo va sicuramente bene.
> , e poi una serie di
>tabelle specifiche per il tipo di preventivo richiesto.
Questo, IMHO, va un po' meno bene; per esempio questo creerebbe grossi
problemi nella realizzazione di una stampa di tutti i preventivi; ad
occhio dovresti fare un report per ogni tipologia di preventivo.
Sei proprio sicuro che ogni tipo di preventivo abbia campi diversi da
tutti gli altri ?
Se fosse proprio vero, valuta la possibilità di definire una tabella
dei preventivi dove hai un campo che identifica il tipo (magari
correlato ad una tabella contenente le tipologie dei preventivi) oltre
a tutti i campi che ti servono in tutti i vari tipi di preventivo;
nelle maschere e nei report provvederai quindi a rendere visibili solo
i controlli associati ai campi che hanno senso per la tipologia dello
specifico preventivo.
>(.....)
>Tenete conto che:
>Ogni preventivo sarà composto sempre da due parti: una generale contenente i
>dati del preventivo e una specifica (scelta tra le tante) contenente i
>parametri che calcolano il preventivo stesso.
E se questi parametri li mettessi invece in una tabella "Tipologie
preventivi" ?
>- Il preventivo sarà collegato alla tabella clienti.....(non sò se vi serve
>saperlo ma io ve lo dico lo stesso)
Suppongo che tu colleghi al cliente la parte generale, vero ?
>- In qualche modo io devo avere una maschera che mi permetta di inserire i
>parametri e un altra maschera che mi consenta di monitorare lo stato dei
>preventivi.
>(.....)
Per darti consigli validi sarebbe meglio che tu dettagliassi meglio le
informazioni che intendi gestire, e soprattutto cosa distingue un tipo
di preventivo dagli altri.
In ogni caso, senza conoscere il problema e quindi con tutte le
cautele del caso, propongo una struttura di questo tipo:
Testata preventivi
----------------------------
ID_Preventivo
CD_Cliente
DataProposta
DataAccettazione
ImportoTotale
CD_IVA
CD_Fattura
.....
Dettaglio preventivi
------------------------------
CD_Preventivo
CD_Tipologia
Descrizione
TempoPrevisto
Importo
.....
Tipologie preventivi
-------------------------------
ID_Tipologia
Descrizione
Modalità	(preventivo ad ore, a forfait, aperto ....)
ImportoUnitario
......
Quindi per esempio, la tipologia che prevede una modalità a forfait
dovrebbe disabilitare in fase di input del dettaglio di un preventivo,
il controllo associato al campo TempoPrevisto, lasciando immettere
solo l'importo; viceversa una tipologia che prevede la modalità ad ore
dovrebbe disabilitare il controllo associato all'importo, accettare
solo TempoPrevisto e calcolare Importo=TempoPrevisto*ImportoUnitario.
Ripeto: è solo un'ipotesi molto teorica dato che non hai fornito
elementi sufficienti.
Prendilo come uno spunto per analizzare il problema sotto una luce
diversa.
Vincenzo Turturro
---------------------------------------------------------
Se no diventiamo tutti **** dai portatili o peggio ancora
provetti poeti fiorentini come vturturro.
(Così disse
ivan....@tiscalinet.it
 Ven 25 Aug 2000 09:34:52 +0200)


title: Dubbi sulla struttura.... relazioni1a1

text:
Intanto grazie per la risposta.
Mettere tutte le possibili tipologie di preventivo su una sola tabella
comporterebbe dei problemi, ti spiego:
- Non sň a priori quante potranno essere, magari tra un anno aggiungo una
tipologia e mi tocca rimpastare la tabella. (Comunque, per adesso mi
limiterň ad inserire solamente quelle tipologie che  mi servono)
- Dato che ogni tipologia presenta vari campi e forse delle sottomaschere
(stň pensando alla maschera adesso) rischierei di avere una form troppo
pesante.
Perň forse č utile che spieghi meglio cosa intendo per tipologie preventivo:
- Per capirsi, io ho giŕ creato una tabella preventivi e una tabella
correlata dettaglio_preventivo. Questa mi permette di creare un prevenivo
inserendo le varie voci nella tabella dettagli... etc etc.... un pň come la
maschera "ordini" che si trova tra gli esempi di access.
Il problema č che io avrei bisogno di creare una tabella che compiesse dei
calcoli specifici per ogni preventivo.
Esempio:
Quando faccio un rendering architettonico al cliente chiedo:
    -mc edificio
    -tipologia edificio
    (questo per ogni eventuale edificio della lottizzazione)
    -mq lotto (o resede o giardino)
    -tipologia lotto
    (questo una sola volta per tutta la lottizzazione)
Ora... realizzare una tabella, e una maschera che risolva questo problema
non č difficile, č un pň come la tabella "ordini" di prima, dove nel
dettaglio ci metto le caratteristiche dell'edificio e nella tabella
principale i dati del generali e quelli del lotto.
Il problema č che quando faccio un rendering che riguarda, ad esempio, un
interno di appartamento i dati che mi servono sono tutt'altri, tipo: mc
appartamento, tipo d'arredamento, modalitň di rendering, etc.
Il problema č questo: io cercavo di creare una tabella e una maschera che mi
prmettesse di calcolare un preventivo sulla base di dati specifici per quel
tipo di lavoro.
Stavo pensando di realizzare tante tabelle, contenenti sia i dati generali
del preventivo, sia quelli specifici per quella tipologia. Questo creerebbe
problemi per un eventuale stampa di tutti i report, ma forse attraverso una
query riesco a mostrare nella maschera clienti solo i preventivi che
riguardano lui..... vero?
Se qualcuno avrŕ la pazienza di leggere fin qui e vorra rispondere avrŕ la
mia riconoscenza
ciao Mirko
......
> Questo va sicuramente bene.
>
........
> Questo, IMHO, va un po' meno bene; per esempio questo creerebbe grossi
> problemi nella realizzazione di una stampa di tutti i preventivi; ad
> occhio dovresti fare un report per ogni tipologia di preventivo.
> Sei proprio sicuro che ogni tipo di preventivo abbia campi diversi da
> tutti gli altri ?
> Se fosse proprio vero, valuta la possibilitŕ di definire una tabella
> dei preventivi dove hai un campo che identifica il tipo (magari
> correlato ad una tabella contenente le tipologie dei preventivi) oltre
> a tutti i campi che ti servono in tutti i vari tipi di preventivo;
> nelle maschere e nei report provvederai quindi a rendere visibili solo
> i controlli associati ai campi che hanno senso per la tipologia dello
> specifico preventivo.
>
............>
> E se questi parametri li mettessi invece in una tabella "Tipologie
> preventivi" ?
>
...............>
> Suppongo che tu colleghi al cliente la parte generale, vero ?
> ................

> Modalitŕ (preventivo ad ore, a forfait, aperto ....)
> ImportoUnitario
> ......
>
> Quindi per esempio, la tipologia che prevede una modalitŕ a forfait
> dovrebbe disabilitare in fase di input del dettaglio di un preventivo,
> il controllo associato al campo TempoPrevisto, lasciando immettere
> solo l'importo; viceversa una tipologia che prevede la modalitŕ ad ore
> dovrebbe disabilitare il controllo associato all'importo, accettare
> solo TempoPrevisto e calcolare Importo=TempoPrevisto*ImportoUnitario.
> Ripeto: č solo un'ipotesi molto teorica dato che non hai fornito
> elementi sufficienti.
> Prendilo come uno spunto per analizzare il problema sotto una luce
> diversa.
>
>
>
> Vincenzo Turturro
> ---------------------------------------------------------
> Se no diventiamo tutti **** dai portatili o peggio ancora
> provetti poeti fiorentini come vturturro.
> (Cosě disse
ivan....@tiscalinet.it
 Ven 25 Aug 2000 09:34:52 +0200)


title: Dubbi sulla struttura.... relazioni1a1

text:
Buttata lì senza alcuna pretesa:
prova a pensare ad una tabella dettaglio preventivo così strutturata.
CD_Preventivo
Par1
Par2
.........ripeti N volte, dove N è il numero massimo di parametri che
possono entrare in gioco in un preventivo...
ParN
ed a una tabella tipologie preventivi con questi campi:
ID_Tipologia
Descrizione
DescrizionePar1
DescrizionePar2
...ripeti N volte, dove N è il numero massimo di parametri che possono
entrare in gioco in un preventivo...
ParN
Formula
I vari campi DescrizioneParx andrebbero valorizzati con la descrizione
corrispondente al significato che Parx assume sulla tabella Dettaglio
preventivo per quella particolare tipologia.
Cioè per es.
Descrizione = "rendering architettonico"
DescrizionePar1 = "mc edificio"
DescrizionePar2 = "tipologia edificio"
DescrizionePar3 = "mq lotto (o resede o giardino)"
DescrizionePar4 = "tipologia lotto"
DescrizionePar5 = ""
...
DescrizioneParN = ""
Nella form dove gestisci il dettaglio del preventivo prevedi tanti
controlli quanti sono i campi Parx; non appena selezioni la tipologia
del preventivo, abiliti solo quelli corrispondenti ai campi
valorizzati sul record della tipologia selezionata (nell'esempio,
abiliteresti solo Par1, Par2, Par3, Par4) e imposti la caption delle
label associate ai campi con il valore presente in DescrizioneParx.
Per quanto riguarda i calcoli da fare, potresti scrivere nel campo
Formula della tab. Tipologie preventivi la formula da applicare; se
per es. il calcolo da fare nel caso sopra è 2 * mc edificio + 1,5 * mq
lotto, nel campo formula dovresti scrivere
2*Par1+1,5*Par3
Questo ti servirebbe nella form che gestisce il dettaglio preventivo,
dove eseguiresti il calcolo con la seguente istruzione
Eval(Formula)
Vincenzo Turturro
---------------------------------------------------------
Se no diventiamo tutti **** dai portatili o peggio ancora
provetti poeti fiorentini come vturturro.
(Così disse
ivan....@tiscalinet.it
 Ven 25 Aug 2000 09:34:52 +0200)


title: Velocita' esecuzione dsum

author: Sib

text:
Salve a tutti,
sto affrontando questo problema:
A97, WinXP, Celeron (PIII) 550 MHz
Velocita' di esecuzione DSum 1,6 sec
A97, Win98, Celeron (PIII) 1000MHz
Velocita' di esecuizone DSum 27 sec
Il problema e' nell'esecuzione della query su cui si appoggia la DSum.
Poiche' uso questa dsum in un controllo non associato, questa viene eseguita
ad ogni record e anche in caso di modifica dei dati.
Ora mi domando: possibile che la cosa dipenda dal SO?
Il programma e' esattamente lo stesso con la stessa base dati.
Spero che arrivino suggerimenti e osservazioni.
Grazie e ciao
Sib


title: Velocita' esecuzione dsum

author: Adriana

text:
"Sib" <si...@SPAMiol.it> ha scritto nel messaggio
news:4TvL8.7875$TS.2...@news1.tin.it...

Ho avuto qualcosa di simile tempo fa.
Soluzione spartana e artificiosa perň funzionante (almeno nel mio caso): la
query su cui si appoggia dsum l'ho fatta diventare di creazione tabella cosě
dsum va a leggere sulla tabella aggiornata continuamente quando serve.


title: Velocita' esecuzione dsum

text:
"Adriana" <
Adr...@yahoo.com
> ha scritto nel messaggio
> "Sib" <si...@SPAMiol.it> ha scritto nel messaggio
> > sto affrontando questo problema:
> > A97, WinXP, Celeron (PIII) 550 MHz
> > Velocita' di esecuzione DSum 1,6 sec
> > A97, Win98, Celeron (PIII) 1000MHz
> > Velocita' di esecuizone DSum 27 sec
> >
> > Il problema e' nell'esecuzione della query su cui si appoggia la DSum.
> > Poiche' uso questa dsum in un controllo non associato, questa viene
> eseguita
> > ad ogni record e anche in caso di modifica dei dati.
> > Ora mi domando: possibile che la cosa dipenda dal SO?
> > Il programma e' esattamente lo stesso con la stessa base dati.
> > Spero che arrivino suggerimenti e osservazioni.
>
> Ho avuto qualcosa di simile tempo fa.
> Soluzione spartana e artificiosa però funzionante (almeno nel mio caso):
la
> query su cui si appoggia dsum l'ho fatta diventare di creazione tabella
così
> dsum va a leggere sulla tabella aggiornata continuamente quando serve.
Capisco, ma purtroppo la cosa e' difficilmente fattibile per me perche' la
questione e' che la dsum serve proprio a calcolare le varie modifiche e
quindi dovrei continuamente aggiornare la tabella proprio quando cerco la
velocita'.
Sib


title: Velocita' esecuzione dsum

author: Fabio

text:
"Sib" <si...@SPAMiol.it> ha scritto nel messaggio
news:4TvL8.7875$TS.2...@news1.tin.it...

Ma la quantità di RAM è la stessa ?
 Queste funzioni utilizzano pesantemente la memoria.
Roberto Pasqualini


title: Velocita' esecuzione dsum

text:
"Fabio" <
fbri...@sidesoft.it
> ha scritto nel messaggio
> "Sib" <si...@SPAMiol.it> ha scritto nel messaggio
> > Salve a tutti,
> > sto affrontando questo problema:
> > A97, WinXP, Celeron (PIII) 550 MHz
> > Velocita' di esecuzione DSum 1,6 sec
> > A97, Win98, Celeron (PIII) 1000MHz
> > Velocita' di esecuizone DSum 27 sec
> >
> > Il problema e' nell'esecuzione della query su cui si appoggia la DSum.
> > Poiche' uso questa dsum in un controllo non associato, questa viene
> eseguita
> > ad ogni record e anche in caso di modifica dei dati.
> > Ora mi domando: possibile che la cosa dipenda dal SO?
> > Il programma e' esattamente lo stesso con la stessa base dati.
> Ma la quantità di RAM è la stessa ?
>  Queste funzioni utilizzano pesantemente la memoria.
In effetti la RAM non e' la stessa, ma il PC del cliente ha 128Mb e non
lavora di swap durante l'operazione.
Un'altra cosa strana e' che il suo pc ogni tanto entra in letargo, si
freezza per 5-10 secondi e poi si riprende completando tutte insieme le
operazioni in sospeso (digitazione da tastiera compresa).
Sib


title: Velocita' esecuzione dsum

text:
"Sib" <si...@SPAMiol.it> ha scritto nel messaggio
news:4TvL8.7875$TS.2...@news1.tin.it...

E' possibile; già la gestione della ram è diversa. Se non sbaglio, già da
WinNT il s.o. vedeva tutta intera la ram non come le versioni win'9x che
avevano ancora il limite dei 640k (DOS)...
Ciao.
--
Sergio MAZZA


title: copia appunti ed access

author: AM

text:
Ho dei problemi non riesco a copiare i record negli appunti mi dice che
devono essere svuotati gli appunti ma sono vuoti ...
in excel e word funzionano perfettamente :(


title: copia appunti ed access

author: Alessandro Baraldi

text:

Usa Excel e Word allora.....!
Access non è nè Excel nè Word e la selezione estesa sulle tabelle non
può funzionare.
@Alex


title: copia appunti ed access

text:
>
> Usa Excel e Word allora.....!
peccato che sto facendo inserimento dati in maschere di access.
>
> Access non è nè Excel nè Word e la selezione estesa sulle tabelle non
> può funzionare.
>
son 4 giorni che faccio sto lavoro del cavolo e non mi era mai successo,
la copia di alcuni dati negli appunti mi velocizzava l'inserimento :(
grazie comunque.


title: copia appunti ed access

author: Carlo Costarella

text:
"AM" <A...@AM.it> ha scritto nel messaggio
news:et931v$j6e$1...@newsread.albacom.net...
> Ho dei problemi non riesco a copiare i record negli appunti mi dice che
> devono essere svuotati gli appunti ma sono vuoti ...
>
> in excel e word funzionano perfettamente :(
>
Strano.
Se selezioni uno o piů record di una tabella e fai ctrl+C...non li copia?
Se č cosě, Access non c'entra. Probabilmente hai installato un gestore della
clipboard o usando un programma non scritto da te, che disabilita
l'accoppiata dei due tasti o simili nel programma Access.
Ciao, Carlo


title: copia appunti ed access

text:
"AM" <A...@AM.it> ha scritto nel messaggio
news:et98ha$l90$1...@newsread.albacom.net...

Visualizza la maschera in foglio dati e se la corrispondenza tra i campi
copiati da una tabella o query e la disposizione dei campi nel foglio dati
corrispondono, non dovresti avere problemi.
Ciao, Carlo


title: Apre Form se date()

text:
Salve, ho un database in cui vorrei far si che al momento dello start
vorrei si aprisse una maschera "scadenze".
Chiaramente se la tabella scadenze contiene delle date = date() or >
date() si deve aprire altrimenti no.
Non so se sono stato chiaro nello spiegare.
Grazie


title: Apre Form se date()

text:
<
collabo...@gmail.com
> ha scritto nel messaggio
news:9e95e384-f5d6-4766...@k7g2000hsd.googlegroups.com...

Una strada:
crea una query salvata a partire dalla tabella Scadenze e usa il criterio,
nel campo data, Like Date();
All'apertura del db controlla se ci sono record, se sě apri la maschera.
Per controllare se ci sono record puoi usare diverse strade. La piů semplice
č un DlookUp.
If Not IsNull(Dlookup("TuoCampo","TuaQuerySalvata") then
Docmd.OpenForm "TuoNomeMaschera"
End if
Ciao, Carlo


title: Apre Form se date()

text:
"Carlo Costarella" <
carloantoni...@gmail.com
> ha scritto nel
messaggio news:galbsr$5ku$1...@tdi.cu.mi.it...

Se l'origine della maschera č la tabella scadenze puň creare direttamente la
SELECT ... WHERE [data] >= date()
e sull'apertura fare un recordcount...se esistono record si apre e
visualizza il risultato...diversamente exit sub
Ciao
--
Roberto da Parma


title: Apre Form se date()

text:
On 15 Set, 13:32, "Roberto da Parma" <
arisi.robe...@tin.it
> wrote:
> "Carlo Costarella" <
carloantoniocostare...@gmail.com
> ha scritto nel
> messaggionews:galbsr$5ku$1...@tdi.cu.mi.it...
>
>
>
>
>
>
>
> > <
collaborazi...@gmail.com
> ha scritto nel messaggio
> >news:9e95e384-f5d6-4766...@k7g2000hsd.googlegroups.com...
> >> Salve, ho un database in cui vorrei far si che al momento dello start
> >> vorrei si aprisse una maschera "scadenze".
> >> Chiaramente se la tabella scadenze contiene delle date = date() or >
> >> date() si deve aprire altrimenti no.
> >> Non so se sono stato chiaro nello spiegare.
> >> Grazie
>
> > Una strada:
> > crea una query salvata a partire dalla tabella Scadenze e usa il criterio,
> > nel campo data, Like Date();
> > All'apertura del db controlla se ci sono record, se sì apri la maschera.
> > Per controllare se ci sono record puoi usare diverse strade. La più
> > semplice è un DlookUp.
> > If Not IsNull(Dlookup("TuoCampo","TuaQuerySalvata") then
> > Docmd.OpenForm "TuoNomeMaschera"
> > End if
>
> > Ciao, Carlo
>
> Se l'origine della maschera è la tabella scadenze può creare direttamente la
> SELECT ... WHERE [data] >= date()
> e sull'apertura fare un recordcount...se esistono record si apre e
> visualizza il risultato...diversamente exit sub
>
> Ciao
>
> --
>
> Roberto da Parma- Nascondi testo citato
>
> - Mostra testo citato -
Uso office xp, ho provato in qualche modo (non sono praticissimo,
quindi se entrate un po più nel "dettaglio elementare..."
Grazie


title: Incrocio listino

author: BluDeep

text:
Ciao a tutti raga.
Ho due tabelle:
1) prodotti - dove ho codprod e data_rif
2) listini - dove ho un indice con codprod, valore e data.
La tabella listini ha per uno stesso prodotto fino a 10 date con il
valore ad ogni data.
Io vorrei sapere se è possibile creare una query che mi metta i
seguenti valori:
codprod, data_rif e valore (ovviamente il valore deve essere quello
preso dalla tabella listini a quella data).
So che mi sono spiegato malissimo, ma la cosa è molto semplice.
Grazie da ora.


title: Incrocio listino

text:
BluDeep ha scritto:

Crei una query in visualizzazione struttura, ci inserisci le due
tabelli, trascini il campo codprod da tabella prodotti a tabella
listini su campo codprod, trascini il campo data_rif da tabella
prodotti a tabella listini su campo data
fai doppio clic sul campo codprod e sul campo data_rif della tabella
prodotti
fai doppio clic sul campo valore della tabella listini
lanci la query


title: Incrocio listino

text:
Ti ringrazio x la risposta, ma mi sono spiegato male nel post
precedente.
Faccio un esempio per essere più chiaro:
Tabella listini:
record1 -        codprod = sapone  data      = 01/01/2006 prezzo 20
record2 -        codprod = sapone  data      = 01/05/2006 prezzo 30
Nella tabella prodotti mi trovo
codprod = sapone
data_rif =  01/03/2006
La mia query deve darmi come risultato il prezzo 20, perchè alla data
del 01/03/2006 il prodotto costava 20.
Spero non sia una cosa molto complicata.....
Grazie a tutti x l'attenzione.


title: Secondo tentativo, ho scampo per essere aiutato?

author: Tommy

text:
Provo a riscirvere il messaggio sperando che qualcuno mi aiuti
Ho creato un db con una tabella "prodotti" (e relativa Maschera) con un
campo "scorte" e poi tre tabelle in relazione 1 a molti:
 "clienti", "consegne","dett Consegne".
La tabella "dett Consegne" ha un campo (prodotti)  che si
richiama con una casella combinata al campo nomeprodotti della tbl prodotti.
Ecco penso che sia tutto
secondo prassi e logica. Ho confrontato il mio operato sui database di
esempio e tutto funzia.
La mia esigenza,  perň sarebbe quella di aggiornare le quantita di scorte
nella tbl "prodotti" man mano  che le segnalo nella tbl "dettConsegne".
Spero di essermi spiegato, vi prego aiutatemi siete tanto bravi e buoni non
m'abbandonate.
 PS o č una cosa difficilissima o č tanto,tanto semplice che non la trovo.
grazie di cuore
tommy blues


author: Roberto dal portatile

text:
"Tommy" <
nul...@tin.it
> ha scritto nel messaggio
news:C_BI6.382$024....@news2.tin.it...
> Provo a riscirvere il messaggio sperando che qualcuno mi aiuti
>
> Ho creato un db con una tabella "prodotti" (e relativa Maschera) con un
> campo "scorte" e poi tre tabelle in relazione 1 a molti:
>  "clienti", "consegne","dett Consegne".
> La tabella "dett Consegne" ha un campo (prodotti)  che si
> richiama con una casella combinata al campo nomeprodotti della tbl
prodotti.
> Ecco penso che sia tutto
> secondo prassi e logica. Ho confrontato il mio operato sui database di
> esempio e tutto funzia.
> La mia esigenza,  però sarebbe quella di aggiornare le quantita di scorte
> nella tbl "prodotti" man mano  che le segnalo nella tbl "dettConsegne".
> Spero di essermi spiegato, vi prego aiutatemi siete tanto bravi e buoni
non
> m'abbandonate.
>
>
>  PS o è una cosa difficilissima o è tanto,tanto semplice che non la trovo.
> grazie di cuore
> tommy blues
>
Sei sicuro che vuoi violare una delle regole fondamentali di un database
relazionale aggiornato in tempo reale, ovvero memorizzare e gestire un campo
calcolato in una tabella (la giacenza nel tuo caso)?
Il fatto che Access non ti fornisca strumenti standard per avere un campo
calcolato in una tabella la dice lunga.
Normalmente la giacenza di magazzino, in un DBM di tipo relazionale, viene
determinata on the fly sommando le entrate e le uscite di un determinato
prodotto (immagino che avrai anche una tabella che contenga le entrate di
magazzino e le altre uscite oltre alle vendite).
Certo se i movimenti di magazzino sono moltissimi e vuoi consultare la
giacenza in tempo reale, devi dotarti di un hardware e di un software adatti
alla bisogna.
Comunque non dico che ciò che ti serve sia impossibile farlo, ma che
dovrebbe essere realizzato da qualcuno che abbia innanzitutto una capacità
progettuale e poi di sviluppo tale da permettersi il lusso di violare una
regola così importante. Pensa solo ai problemi che dovresti affrontare a
causa dei ripensamenti dell'operatore che decida di interrompere la
digitazione di una consegna a metà e poi decida di cancellare alcuni record
inseriti che avevano già aggiornato la giacenza; oppure di cambiare una
quantità che aveva già aggiornato la giacenza.
Aggiornare con una somma o una sottrazione il campo di un record in un
recordset non è nulla di trascendentale; ma fare in maniera che il sistema,
nel suo insieme, garantisca sempre e comunque un valore esatto della
giacenza a chi la interroga, è decisamente più difficile.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


text:
"Roberto dal portatile" <
r.ma...@libero.it
> ha scritto nel messaggio
news:Z6DI6.12704$UW4.8...@news.infostrada.it...

Innaninzitutto grazie, sei sempre tu che mi dai risposta e ti ringrazio di
cuore. E poi, scusate la mia ignoranza, ma ho scatenato tutto cio'?
addiritura si viola qualcosa o ci vuole hardware e software particolare? Ma
io pensavo che fosse una cosa che facessero tutti i programmi ...e allora
quelli che usano le penne ottiche nei negozi? Ma allora nel 2001 la gente
continua ancora a scalarsi le quantita' vendute a manovella? Non credo,
forse non ho capito la tua risposta.
Grazie ciao


author: Roberto da casa

text:
"Tommy" <
nul...@tin.it
> ha scritto nel messaggio
news:OuEI6.1382$024....@news2.tin.it...
>
[CUT]
> Innaninzitutto grazie, sei sempre tu che mi dai risposta e ti ringrazio di
> cuore. E poi, scusate la mia ignoranza, ma ho scatenato tutto cio'?
Non hai scatenato nulla: sono io che spesso nel rispondere o nell'esprimere
dei concetti (che a mio modesto parere sono giusti) divento prolisso.
> addiritura si viola qualcosa
Per violare intendo non rispettare alcune regole fondamentali: nulla ti
vieta di farlo; a me sembrava logico avvertirti.
> o ci vuole hardware e software particolare?
Questa ipotesi si verifica solo nel caso in cui le performance del sistema
risultassero non soddisfacienti.
> Ma io pensavo che fosse una cosa che facessero tutti i programmi
Ti confermo, come ti ho già detto, che puoi farlo anche con Access
>...e allora
> quelli che usano le penne ottiche nei negozi?
Per quale motivo pensi che non lo facciano così come ho detto io?
> Ma allora nel 2001 la gente
> continua ancora a scalarsi le quantita' vendute a manovella?
Nè a manovella e neppure con l'abaco, ma con un computer.
 >Non credo,
cosa ci trovi di così innaturale?
Qualche thread più avanti di questo un frquentatore ha chiesto ed ottenuto
la soluzione per memorizzare in una tabella il risultato di una
moltiplicazione: sarò fatto male, ma io l'avrei fatto riflettere sulla
necessità e/o l'opportunità di fare una cosa del genere.
> forse non ho capito la tua risposta.
Penso che invece l'hai capita, eventualmente non la condividi ed in questo
non c'è niente di male.
>
> Grazie ciao



text:
"Roberto da casa" <
r.ma...@libero.it
> ha scritto nel messaggio
news:kpQI6.15853$UW4.1...@news.infostrada.it...
>
> "Tommy" <
nul...@tin.it
> ha scritto nel messaggio
> news:OuEI6.1382$024....@news2.tin.it...
> >
> [CUT]
>[CUT]
> cosa ci trovi di così innaturale?
> Qualche thread più avanti di questo un frquentatore ha chiesto ed ottenuto
> la soluzione per memorizzare in una tabella il risultato di una
> moltiplicazione: sarò fatto male, ma io l'avrei fatto riflettere sulla
> necessità e/o l'opportunità di fare una cosa del genere.
Io,probabilmente, non son stato chiaro e me ne scuso ma a me va bene che il
calcolo dello scarico e carico venga effettuato e memorizzato anche in un
form; penso che questo sia fattibile. Difatti nel mio primo msg avevo
scritto che la tbl "prodotti" aveva la sua relativa maschera. Poi
eventualmente copiero' i dati ottenuti su word o me li stampo.
Spero di non aver fatto un'altra gaffe e che tu abbia 5 secondi per
rispondermi l'ennesima volta.
Comunque ho capito molte cose da quanto mi hai scritto nei msg precedenti.
grazie, vorrei poter ricambiare ma le mie conoscenze sono  limitate.
tommy blues


text:
"Tommy" <
nul...@tin.it
> ha scritto nel messaggio
news:otSI6.2795$DF1....@news1.tin.it...
>
> "Roberto da casa" <
r.ma...@libero.it
> ha scritto nel messaggio
> news:kpQI6.15853$UW4.1...@news.infostrada.it...
> >
> > "Tommy" <
nul...@tin.it
> ha scritto nel messaggio
> > news:OuEI6.1382$024....@news2.tin.it...
> > >
> > [CUT]
> >[CUT]
> > cosa ci trovi di così innaturale?
> > Qualche thread più avanti di questo un frquentatore ha chiesto ed
ottenuto
> > la soluzione per memorizzare in una tabella il risultato di una
> > moltiplicazione: sarò fatto male, ma io l'avrei fatto riflettere sulla
> > necessità e/o l'opportunità di fare una cosa del genere.
>
> Io,probabilmente, non son stato chiaro e me ne scuso ma a me va bene che
il
> calcolo dello scarico e carico venga effettuato e memorizzato anche in un
> form; penso che questo sia fattibile. Difatti nel mio primo msg avevo
> scritto che la tbl "prodotti" aveva la sua relativa maschera. Poi
> eventualmente copiero' i dati ottenuti su word o me li stampo.
> Spero di non aver fatto un'altra gaffe e che tu abbia 5 secondi per
> rispondermi l'ennesima volta.
Visto che insisti.
Do per scontato che hai una maschera che ha come origine record la tabella
"consegne" e che contiene una sottomaschera che ha come origine record la
tabella "dett Consegne". Ipotizziamo che la sottomaschera ha un controllo
chiamato Quantità.
Per sottrarre al campo Scorta della tabella "prodotti" la Quantità di ogni
record inserito nella tabella "dett Consegne", a fronte dell'evento "Dopo
inserimento" della sottomaschera genera un codice VBA che:
1) Apre un recordset sulla tabella "prodotti"
2) Si posiziona sul record che ha il codice prodotto uguale a quello del
record corrente.
3) Sottrai al campo Scorta del recordset il valore del controllo Quantità
4) Aggiorna il recordset
5) chiudi il recordset
Per sommare al campo Scorta della tabella "prodotti" la Quantità di ogni
record cancellato nella tabella "dett Consegne", a fronte dell'evento "Dopo
conferma eliminazione" della sottomaschera genera un codice VBA che:
1) Apre un recordset sulla tabella "prodotti"
2) Si posiziona sul record che ha il codice prodotto uguale a quello del
record corrente.
3) Somma al campo Scorta del recordset il valore del controllo Quantità
4) Aggiorna il recordset
5) Chiude il recordset
Nel caso di variazione di una quantità che precedentemente aveva già
aggiornato il campo Scorta devi, a fronte dell'evento "Dopo aggiornaento"
del controllo Quantità, verificare se stai inserendo un nuovo record (If
Me.NewRecord = True Then) nel qual caso esci dalla Sub; in caso contrario
devi memorizzare in una variabile globale numerica la differenza tra
l'OldValue ed il valore attuale del controllo Quantità.
Quindi a fronte dell'evento "Dopo aggiornamento" della sottomaschera devi
verificare se stai inserendo un nuovo record (If Me.NewRecord = True Then)
nel qual caso esci dalla Sub; in caso contrario il codice VBA deve:
1) Aprire un recordset sulla tabella "prodotti"
2) Posizionarsi sul record che ha il codice prodotto uguale a quello del
record corrente.
3) Sommare al campo Scorta del recordset il valore della variabile globale
4) Aggiornare il recordset
5) Chiudere il recordset
Ricordati che tutte le variazioni fatte alla tabella "dett Consegne" NON
tramite  la sottomaschera di cui sopra (interventi fatti direttamente in
tabella o con query su essa basata o tramite maschere che non ricalcolano la
Scorta) non ti aggiorneranno il campo Scorta della tabella "prodotti",
rendendola così inesatta. Devi pertanto cautelarti a che la procedura non
permetta all'operatore tali interventi e verificare che non ci siano buchi
progettuali di tale tipo.
Attento anche alle procedure con cui aggiorni la tabella "prodotti"; non
dovresti permettere che venga variato il camp Scorta.
Comunque insisto nel dire che sia moooolto meglio ricavare la giacenza con
una query di raggruppamento su codice prodotto basata sulle tabelle che
contengono i movimenti di magazzino. Vedi tu.
> Comunque ho capito molte cose da quanto mi hai scritto nei msg precedenti.
> grazie, vorrei poter ricambiare ma le mie conoscenze sono  limitate.
> tommy blues
--



text:
> Visto che insisti.
Scusami...
> Do per scontato che hai una maschera ..................CUT
Mi hai ucciso!!!
Ma ci proverò, grazie
> Comunque insisto nel dire che sia moooolto meglio ricavare la giacenza con
> una query di raggruppamento su codice prodotto basata sulle tabelle che
> contengono i movimenti di magazzino. Vedi tu.
Ma a me va bene anche la query e ci ho anche provato ed è venuto fuori un
gran casino.
No no! Non ti chiedo di spiegarmi anche questo perchè devo aver scocciato un
po' troppo. Riformulero' la richiesta fra un paio di settimane dopo le
ferie.
PS sul sitocomune c'e' qualche faq in merito?
Grazie e scusa
tommy blues


title: Selezionare una cartella tramite Browse. Errore di compilazione nel modulo.

text:
Ciao a tutti sto cercando di utilizzare la funzione riportata sotto
ereditata dalla rete, ma mi da errore nella parte  "  Dim BInfo As
BROWSEINFO  " con il seguente messaggio. non ho idea su come effettuare la
correzione; potreste darmi una mano.
Sinceramente non ho idea se riuscir� a mettre il codice per far funzionare
il tutto, ma se non riesco a risolvere l'errore che segnala non lo sapr�
mai.
Grazie, Bruno

Public Function SfogliaCartelle(ByVal Handle As Long) As String
Dim BInfo As BROWSEINFO

  ^^^^^^^^^^^^^

Option Compare Database
Option Explicit

'Esiste a questo scopo una finestra di dialogo all'interno della DLL
Shell32. Il suo nome � BrowseForFolder.
'In questo HowTo vedremo come richiamare questa funzione mediante l'API.
'Per il nostro scopo creeremo una funzione che ritorna il percorso, ma prima
� necessario scrivere alcune dichiarazioni API
'all'interno del nostro form oppure in un modulo standard

'Private Type BROWSEINFO
    'hOwner As Long
    'pidlRoot As Long
    'pszDisplayName As String
    'lpszTitle As String
    'ulFlags As Long
    'lpfn As Long
    'lParam As Long
    'iImage As Long
'End Type

'Private Const BIF_RETURNONLYFSDIRS = &H1
'Private Declare PtrSafe Function SHBrowseForFolder Lib "shell32.dll" Alias
"SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long
'Private Declare PtrSafe Function SHGetPathFromIDList Lib "shell32.dll"
Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String)
As Long
'Private Declare PtrSafe Sub CoTaskMemFree Lib "ole32.dll" (ByVal pv As
Long)

'^^^^^^^^^^^

'Le righe dal 3 al 12 definiscono un nuovo tipo di nome BROWSEINFO. Tale
struttura � richiesta dalla funzione API.
'La riga 14 presenta una costante  BIF_RETURNONLYFSDIRS che indica che
vogliamo presentate soltanto le cartelle.
'Ulteriori costanti che � possibile utilizzare in questa funzione sono
presenti nelle dichiarazioni API.
'Per rintracciarle bisogna cercare tutte le costanti il cui nome inizia per
"BIF_" (BrowseInfo Flags).
'Alla riga 15 viene dichiarata la prima funzione API: SHBrowseForFolders.
Essa richiede che sia passata una variabile
'di tipo BROWSEINFO (definita prima), mostra la finestra di dialogo per la
scelta della cartella e, nel momento in cui
'l'utente clicca il pulsante OK alloca in uno spazio apposito il nome della
cartella selezionata.
'La seconda funzione API (riga 16) estrae il percorso della cartella
selezionata dall'area di memoria allocata.
'L 'ultima funzione API (riga 17) dealloca l'area di memoria bloccata dalla
funzione SHBrowseForFolders.

'Terminate le dichiarazioni passiamo alla scrittura di una funzione che
faccia tutto il lavoro mediante un semplice richiamo.
'La nostra funzione prende il nome di SfogliaCartelle.

Public Function SfogliaCartelle(ByVal Handle As Long) As String

    Dim BInfo As BROWSEINFO
    Dim RetVal As Long, PathID As Long, RetPath As String, Offset As Integer

'Come gi� accennato prima, la funzione SHBrowseForFolders richiede che sia
passata una variabile con la struttura BROWSEINFO.
'La nostra variabile si chiamer� BInfo.

    Dim CartellaScelta As Long
    Dim PercorsoAllocato As Long
    Dim PercorsoScelto As String

'Dichiareremo anche una serie di altre variabili: CartellaScelta indica che
� stato possibile estrarre il percorso scelto dall'area di memoria
'allocata. In caso di mancata estrazione - ovvero quando l'utente preme il
tasto Annulla della finestra di dialogo - essa avr� il valore 0.
'La variabile PercorsoAllocato conterr� l'indirizzo dell'area di memoria
allocata dalla funzione. Tale valore sar� in seguito utilizzato
'per ricavare il percorso della cartella selezionata che verr� memorizzato
nella variabile PercorsoScelto.

    BInfo.hOwner = Handle
    BInfo.lpszTitle = "Scegli una cartella:"
    BInfo.ulFlags = BIF_RETURNONLYFSDIRS

'La struttura BROWSEINFO ha tre elementi fondamentali: hOwner che indica
l'handle della finestra dentro la quale apparir� la nostra finestra
'di dialogo. La nostra funzione SfogliaCartelle ci provvede l'handle da
assegnare a tale elemento (riga 24).
'Altro elemento fondamentale � lpszTitle e indica il testo che apparir�
nella parte superiore della finestra di dialogo.
'L'ultimo elemento � anche il pi� importante: esso indica il tipo di azione
da eseguire con tale finestra: noi assegneremo il valore
'della costante BIF_RETURNONLYFSDIRS dichiarata prima.

    PercorsoAllocato = SHBrowseForFolder(BInfo)

'Eseguiamo la chiamata alla funzione SHBrowseForFolders che mostrer� la
finestra di scelta della cartella.
'All'uscita della finestra, la variabile PercorsoAllocato conterr� un
puntatore all'area di memoria allocata dall'ultima funzione.

    PercorsoScelto = Space$(512)
'Come per tutte le funzioni API che utilizzano stringhe, � necessario
prepare prima la variabile mediante l'istruzione Space$.

    CartellaScelta = SHGetPathFromIDList(PercorsoAllocato, PercorsoScelto)

'La funzione SHGetPathFromIDList estrae il percorso allocato dall'area di
memoria indicata da PercorsoAllocato
'e lo memorizza nella variabile PercorsoScelto.
'Se L 'utente ha annullato la scelta, il tentativo di estrazione del
percorso ritorner� il valore 0.

    If CartellaScelta Then

'Quindi segue un controllo che si assicura che l'utente abbia scelto qualche
cartella. In caso negativo il programma salta alla riga 34.

        SfogliaCartelle = Left$(PercorsoScelto, InStr(PercorsoScelto,
Chr$(0)) - 1)

'Tutte le funzioni API restituiscono le variabili stringa con un terminatore
(codice ASCII 0) alla fine.
'Questa riga provvede a eliminare il terminatore finale da PercorsoScelto e
memorizza il rimanente nella variabile SfogliaCartelle
'che sar� il valore ritornato all'uscita della funzione.

        CoTaskMemFree PercorsoAllocato

'Fatto questo � necessario deallocare la memoria allocata.
'La funzione CoTaskMemFree provvede a questo e richiede un puntatore.

    Else
        SfogliaCartelle = ""

'L 'utente ha annullato la selezione. Non sar� ritornata alcuna cartella
all'uscita.

    End If
End Function

'Terminata la nostra funzione possiamo passare alla semplice interfaccia.
'Inseriamo sopra il nostro form due controlli: un pulsante di comando di
nome Sfoglia ed una casella di testo di nome Percorso.

'Nel momento in cui l'utente clicca il pulsante Sfoglia viene richiamato
l'evento click:

        'Private Sub Sfoglia_Click()
            'Percorso.Text = SfogliaCartelle(Me.Hwnd)
        'End Sub

'Questa semplice routine scrive il percorso della cartella selezionata
all'interno della casella di testo di nome Percorso.
'� terminata qui. Basta cliccare il pulsante Sfoglia per vedere apparire la
finestra di dialogo "Sfoglia per Cartelle".


text:
Perchè non usi FileDialog invece delle API, che con i nuovi SO devono
essere adatatte al 64Bit...?

FD è nativo basta referenziare OFFICE.

@Alex


author: Bruno - S95

text:
"@Alex" <
ik2...@libero.it
> ha scritto nel messaggio
news:4afcd670-8c7a-4023...@n2g2000yqg.googlegroups.com...
Perch� non usi FileDialog invece delle API, che con i nuovi SO devono
essere adatatte al 64Bit...?

FD � nativo basta referenziare OFFICE.

@Alex

^^^^^^^^^^^^^

Ciao Alex, non ho idea su come fare. E' una cosa complicata? Puoi darmi
maggiori indicazioni.

Grazie, Bruno


text:
"@Alex" <
ik2...@libero.it
> ha scritto nel messaggio
news:4afcd670-8c7a-4023...@n2g2000yqg.googlegroups.com...
Perch� non usi FileDialog invece delle API, che con i nuovi SO devono
essere adatatte al 64Bit...?

FD � nativo basta referenziare OFFICE.

@Alex

^^^^^^

Dimenticavo..... io possiedo un 64 bit, pertanto il tuo consiglio calza a
pennello, ma come si fa?


author: sv

text:
Bruno62 ha scritto:

Nel codice che hai proposto noto delle virgolette ad inizio rigo. Il
codice cos� diventa un commento... comunque eccoti quello che uso e che
funziona perfettamente con W7 64 bit e Access 2007 in un file .accdb

In un modulo inserisci:

Option Compare Database
Option Explicit

Private Type BROWSEINFO
  hOwner As Long
  pidlRoot As Long
  pszDisplayName As String
  lpszTitle As String
  ulFlags As Long
  lpfn As Long
  lParam As Long
  iImage As Long
End Type

Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias _
            "SHGetPathFromIDListA" (ByVal pidl As Long, _
            ByVal pszPath As String) As Long

Private Declare Function SHBrowseForFolder Lib "shell32.dll" Alias _
            "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) _
            As Long

Private Const BIF_RETURNONLYFSDIRS = &H1

Public Function BrowseFolder(szDialogTitle As String) As String
  Dim x As Long, bi As BROWSEINFO, dwIList As Long
  Dim szPath As String, wPos As Integer

    With bi
        .hOwner = hWndAccessApp
        .lpszTitle = szDialogTitle
        .ulFlags = BIF_RETURNONLYFSDIRS
    End With

    dwIList = SHBrowseForFolder(bi)
    szPath = Space$(512)
    x = SHGetPathFromIDList(ByVal dwIList, ByVal szPath)

    If x Then
        wPos = InStr(szPath, Chr(0))
        BrowseFolder = Left$(szPath, wPos - 1)
    Else
        BrowseFolder = vbNullString
    End If
End Function

Nella finestra Immediata scrivi:

?BrowseFolder("C:")

e dai invio.

--
sv

--

questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news
 segnala gli abusi ad
ab...@newsland.it


text:
"sv"  ha scritto nel messaggio news:kiotv4$o3v$1...@news.newsland.it...

[CUT]

^^^^^^^^^^^^^^^

Ciao, se non erro questo codice � depositato nel sito comune, codice che ho
provato e mi dava lo stesso errore che mi da il tuo, cio� mi dice che
microsoft Access a smesso di funzionare e di chiude il db; si pianta
proprio.

Cosa pu� essere ?

Bruno


text:
Bruno - S95 ha scritto:

Con l'aiuto dell'help di Access....:-))

In una maschera inserisci un pulsante ed una casella di testo
Il pulsante lo chiami "cmd1" e la casella "filepath"

Imposta i riferimenti come gi� detto da Alex

Private Sub cmd1_Click()
' Richiede i riferimenti alla Microsoft Office 12.0 Object Library. '
    Dim fDialog As Office.FileDialog
    Dim varFile As Variant
    ' Imposta File Dialog.
    Set fDialog = Application.FileDialog(msoFileDialogFilePicker)

    With fDialog

        ' Imposta il titolo di dialog box. '
        .Title = "Seleziona"
        .InitialFileName = "C:"

        ' Aggiunge il filtro dei file'
        .Filters.Clear
        .Filters.Add "All Files", "*.*"

        ' Mostra la dialog box. Se il metodo .Show restituisce True   '
        ' l'utente ha un file. Se restituisce False l'utente ha cliccato
su Annulla '

        If .Show = True Then
            For Each varFile In .SelectedItems
                Me.filepath = varFile
            Next
        Else
            MsgBox "Hai cliccato Annulla in dialog box."
        End If
    End With
End Sub



text:
[cut]

Da me funziona perfettamente.. Non saprei cosa dirti. Sicuramente problemi
con le dll.

Lascia perdere questa soluzione se ti combina questo guaio.

Prova la soluzione con filedialog che ti ho gi� postato.



text:
sv ha scritto:

Nel copia incolla ho inserito una seconda parte che si riferiva ad
un'altra caso.. Pertanto viene corretto cos�:

.
.
.

' Mostra la dialog box. Se il metodo .Show restituisce True   '
        ' l'utente ha un file. Se restituisce False l'utente ha cliccato
 su Annulla '

         If .Show = True Then

                 Me.filepath = .SelectedItems.Item(1)

         Else
             MsgBox "Hai cliccato Annulla in dialog box."
         End If
     End With

.
.
.
Non abbiamo bisogno tra l'altro della variabile "varfile"



text:
Bruno62 ha scritto:

^^^^^^^^^^^^^^^

>Ciao, se non erro questo codice � depositato nel sito comune, codice che ho
>provato e mi dava lo stesso errore che mi da il tuo, cio� mi dice che
>microsoft Access a smesso di funzionare e di chiude il db; si pianta
>proprio.

>Cosa pu� essere ?

>Bruno

Per le problematiche 32/64 bit:

http://msdn.microsoft.com/en-us/library/ee691831.aspx

http://www.jkp-ads.com/articles/apideclarations.asp




text:
"sv"  ha scritto nel messaggio news:kip5tj$4dd$1...@news.newsland.it...

Bruno62 ha scritto:

^^^^^^^^^^^^^^^

>Ciao, se non erro questo codice è depositato nel sito comune, codice che ho
>provato e mi dava lo stesso errore che mi da il tuo, cioè mi dice che
>microsoft Access a smesso di funzionare e di chiude il db; si pianta
>proprio.

>Cosa può essere ?

>Bruno

Per le problematiche 32/64 bit:

http://msdn.microsoft.com/en-us/library/ee691831.aspx

http://www.jkp-ads.com/articles/apideclarations.asp

--
sv

--

questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news
 segnala gli abusi ad
ab...@newsland.it

^^^^^^

Riciao, ora provo quanto scritto nell'ultimo tuo post.

Giusto per......... ho trovato in rete queste due stringhe alle quali ho
aggiunto i commenti per maggior comprensione. Eccole.
Già provato, l'unica cosa è che non riesco a memorizzare solo la path della
cartella. Per il resto funziona alla grande anche su 64 bit
Ciao, Bruno

Private Sub Comando0_Click()

'-----------------------------------------------------------------------------------------------
'     Scelta                                    Cosa fa
'msoFileDialogFilePicker               1) Lets users select one or more
files
'msoFileDialogFolderPicker             2) Lets users select a folder path
'msoFileDialogOpen                     3) Lets users select one or more
files to open
'msoFileDialogSaveAs                   4) Lets users select a single file to
save

'-----------------------------------------------------------------------------------------------

Dim objDialog As Object

'In "Application.FileDialog(2)" inserire il numero corrispondente alla voce
suindicata desiderata
Set objDialog = Application.FileDialog(2)

With objDialog
    .AllowMultiSelect = False
    .Show
    If .SelectedItems.Count = 0 Then
        MsgBox "No file selected."
    Else
        'Me.FileNameTextBox = Dir(.SelectedItems(1)) ' Stringa originale
        Me.FileNameTextBox = Dir(.SelectedItems(1))
    End If
End With
Set objDialog = Nothing

End Sub


text:
"sv"  ha scritto nel messaggio news:kip40d$1q2$1...@news.newsland.it...

^^^^^^^^^^^^^^^^^^^^^^^^^

OK, funziona. Ho fatto riferimento alla libreria Microsoft Office 14.0
Object Library   su Office 2010

l'unica cosa � che anche qu� non riesco a salcare solo il percorso cartella
senza il file, infatti ho la necessit� di avere il per corso cos�, ad
esempio:  C:\CartellaPippo\CartellaFranco e non
C:\CartellaPippo\CartellaFranco\File.estensionefile

Come se pu� f�..
Bruno


text:
Bruno62 ha scritto:

>OK, funziona. Ho fatto riferimento alla libreria Microsoft Office 14.0
>Object Library su Office 2010

>l'unica cosa � che anche qu� non riesco a salcare solo il percorso cartella
>senza il file, infatti ho la necessit� di avere il per corso cos�, ad
>esempio: C:CartellaPippoCartellaFranco e non
>C:CartellaPippoCartellaFrancoFile.estensionefile

>Come se pu� f�..
>Bruno

Con un workaround...
Utilizza CurDir... punti al file e ti restituisce il path..
Diventa quindi:
.
.
.
 If .Show = True Then

                  Me.filepath = .SelectedItems.Item(1)
                  Me.filepath=CurDir(Me.filepath) & ""

          Else
              MsgBox "Hai cliccato Annulla in dialog box."
          End If
     End With
.
.




text:

Ottimo, questo è quello da usare.

Serve capire bene la questione del 32/64Bit in quanto tutte le
dichiarazioni API che avete esposto non sono per il 64Bit, ma per il
32bit.

Mi viene il sospetto che abbiate un SO non a 64 oppure Office a 32...

Potete vederlo da Access 2010 leggendo il valore della COSTANTE VBA7

# IF VBA7 THEN

# ELSE

# END IF

Leggere questo articolo:

http://www.jkp-ads.com/articles/apideclarations.asp

@Alex


text:
"Bruno62" <
mus...@virgilio.it
> ha scritto nel messaggio
news:514f6d9b$0$37117$4faf...@reader1.news.tin.it...
> Ciao a tutti sto cercando di utilizzare la funzione riportata sotto
> ereditata dalla rete, ma mi da errore nella parte  "  Dim BInfo As
> BROWSEINFO  " con il seguente messaggio. non ho idea su come effettuare la
> correzione; potreste darmi una mano.
> Sinceramente non ho idea se riuscir� a mettre il codice per far funzionare
> il tutto, ma se non riesco a risolvere l'errore che segnala non lo sapr�
> mai.
> Grazie, Bruno
>
>[CUT]

Scusate, ma con i vari codici postati, per avere il percorso di una cartella
a quanto pare � necessario che all'interno vi sia per forza un file da
selezionare, diversamente non funzia, o sbaglio.

Per ora ho risolto con le due sub a seguire. Nella prima ho aggiunto "
Dim filepath As Variant
" perch� non mi restituiva quanto desiderato, salvo che io non abbia fatto
qualche casotto. La seconda, se non erro non ha bisogno di riferimenti a MS
Office.

Certo, non riesco a capacitarmi sul fatto che non si possa selezionare una
cartella da memorizzare, anche se vuota. Sicuramente sono io che non sono in
grado.

Attendo un vostro cortese  riscontro.

Ciao, bruno

----------------------INIZIO  PRIMA
SUB ----------------------------------------

Private Sub Comando0_Click()

'-----------------------------------------------------------------------------------------------
'     Scelta                                    Cosa fa
'msoFileDialogFilePicker               1) Lets users select one or more
files
'msoFileDialogFolderPicker             2) Lets users select a folder path
'msoFileDialogOpen                     3) Lets users select one or more
files to open
'msoFileDialogSaveAs                   4) Lets users select a single file to
save

'-----------------------------------------------------------------------------------------------

'In una maschera inserisci un pulsante ed una casella di testo
'Il pulsante lo chiami "cmd1" e la casella "filepath"

' Richiede i riferimenti alla Microsoft Office 12.0 Object Library.
Dim fDialog As Office.FileDialog
Dim varFile As Variant

Dim filepath As Variant

' Imposta File Dialog.
Set fDialog = Application.FileDialog(msoFileDialogFilePicker)

With fDialog

' Imposta il titolo di dialog box. '
.Title = "Seleziona"
.InitialFileName = "C:"

' Aggiunge il filtro dei file'
.Filters.Clear
.Filters.Add "All Files", "*.*"

'Mostra la dialog box. Se il metodo .Show restituisce True
'l'utente ha un file. Se restituisce False l'utente ha cliccato
'su Annulla

If .Show = True Then

'Me.filepath = .SelectedItems.Item(1)               'Restituisce l'intero
percorso compreso il file scelto

Me.filepath = CurDir(.SelectedItems.Item(1)) & "\"      'Restituisce
l'intero percorso della cartella prescelta

       'selezionando un file all'interno della stessa
Else
MsgBox "Hai cliccato Annulla in dialog box."

End If
    End With

End Sub

---------------------- FINE PRIMA
SUB ----------------------------------------

e se fosse necessario avere solo il file, ma non penso, allora uso la
seguente

rivate Sub Comando0_Click()

'     Choice                                     What it does
'msoFileDialogFilePicker               Lets users select one or more files
'msoFileDialogFolderPicker             Lets users select a folder path
'msoFileDialogOpen                     Lets users select one or more files
to open
'msoFileDialogSaveAs                   Lets users select a single file to
save

Dim objDialog As Object

Set objDialog = Application.FileDialog(3)

With objDialog
    .AllowMultiSelect = False
    .Show
    If .SelectedItems.Count = 0 Then
        MsgBox "No file selected."
    Else
        Me.FileNameTextBox = Dir(.SelectedItems(1))



text:
Bruno - S95 ha scritto:

> "Bruno62" <
mus...@virgilio.it
> ha scritto nel messaggio
> news:514f6d9b$0$37117$4faf...@reader1.news.tin.it...
> > Ciao a tutti sto cercando di utilizzare la funzione riportata sotto
> > ereditata dalla rete, ma mi da errore nella parte  "  Dim BInfo As
> > BROWSEINFO  " con il seguente messaggio. non ho idea su come effettuare la
> > correzione; potreste darmi una mano.
> > Sinceramente non ho idea se riuscir� a mettre il codice per far funzionare
> > il tutto, ma se non riesco a risolvere l'errore che segnala non lo sapr�
> > mai.
> > Grazie, Bruno
> >
> >[CUT]

> Scusate, ma con i vari codici postati, per avere il percorso di una cartella
> a quanto pare � necessario che all'interno vi sia per forza un file da
> selezionare, diversamente non funzia, o sbaglio.

No. Se ti serve solo memorizzare il percorso di una cartella anche vuota
eccoti il codice:

Private Sub button1_Click()
' Richiede i riferimenti alla Microsoft Office 12.0 Object Library. '
    Dim fDialog As Office.FileDialog
    ' Imposta File Dialog. '
    Set fDialog = Application.FileDialog(msoFileDialogFolderPicker)
    With fDialog
        ' Imposta il titolo di dialog box. '
        .Title = "Seleziona"
        .InitialFileName = "C:"
        ' Mostra la dialog box. Se il metodo .Show restituisce True   '
        ' l'utente ha un file. Se restituisce False l'utente ha cliccato
su Annulla '

        If .Show = True Then
            Me.filepath = .SelectedItems.Item(1)
        Else
            MsgBox "Hai cliccato Annulla in dialog box."
        End If
    End With
End Sub

[cut]



text:
"sv" <
sal...@accessgroup.it
> ha scritto nel messaggio
news:kirjpe$ph5$1...@news.newsland.it...

^^^^^^^^^^^^^^^^^^^^^^^

Non posso fare altro che ringraziarti di cuore per l'aiuto prezioso.
Grazie, Grazie Grazie

Bruno


text:
"sv" <
sal...@accessgroup.it
> ha scritto nel messaggio
news:kirjpe$ph5$1...@news.newsland.it...

Ciao Salvino, ho provato la funzione che mi hai postato e nel lanciarla da
il seguente errore evidenziando solo "fDialog As Office.FileDialog" senza
evidenziare dim, con messaggio "tipo definito dall'utente non definito". hai
idea di cosa vuol dire e cosa devo fare?

sono andato a vedere nel dettaglio d'aiuto e riporta il seguente testo.
Peggio che mai. Cosa da marziani.Non ci capisco un fico secco anche se mi
impegno.

Bruno

Tipo definito dall'utente non definito
Vedere anche     Informazioni aggiuntive

Quando in Visual Basic vengono creati tipi di dati personalizzati, �
necessario definirli prima in un'istruzione Type...End Type oppure in una
libreria degli oggetti o libreria dei tipi registrate correttamente. Cause e
soluzioni dell'errore:

  a.. � stata dichiarata una variabile o un argomento con un tipo di dati
non definito oppure � stato specificato un nome di classe o di oggetto
sconosciuto.
  Definire un nuovo tipo di dati utilizzando l'istruzione Type in un modulo.
Se si desidera creare un riferimento a una classe, questa deve essere
riconosciuta dal progetto. Se viene fatto riferimento a una classe del
programma, il progetto deve includere un modulo di classe con il nome
specificato. Controllare l'ortografia del nome del tipo o dell'oggetto.

  b.. Il tipo che si desidera dichiarare � incluso in un altro modulo, ma �
stato dichiarato come Private.
  Spostare la definizione del tipo in un modulo standard in cui pu� essere
Public.

  c.. Il tipo � valido, ma la libreria degli oggetti o dei tipi in cui �
definito non � registrata in Visual Basic.
  Visualizzare la finestra di dialogo Riferimenti, quindi selezionare la
libreria degli oggetti o dei tipi adeguata. Se, ad esempio, nella finestra
di dialogo Riferimenti non viene attivata la casella di controllo degli
oggetti di accesso ai dati (DAO), i tipi Database, Recordset e TableDef non
saranno riconosciuti e i relativi riferimenti nel codice genereranno questo
errore.

Per ulteriori informazioni, selezionare l'elemento desiderato e premere F1
(in Windows) oppure AIUTO (in Macintosh).


text:
[CUT]

Scusami, ho risolto facendo riferimento alla libreria office 14. Meno male
che lo avevi scritto... pensa un pocchino se non l'avessi precisato.

Mi sa che sono un pocchino cotto.

Comunque sarebbe interessante capire come fare il  Type.... end Type per il
"fDialog As Office.FileDialog" al fine di evitare di mettere il riferimento.
Io ho provato, ma si vede che ho una grande confusione in testa, come mi ha
detto anche Alex.

Questo esempio  � stato reperito in
http://www.mrwebmaster.it/visual-basic/guide/tipi-definiti-dallutente_648.html

, solo che fa riferimento a dati stringa e numerici, non ad oggetti.

Come si fa per un oggetto?????

Bruno

Tipi definiti dall'utente

Home > Visual Basic > Guide > Guida VBA > Tipi definiti dall'utente

Nel paragrafo precedente abbiamo trattato l'argomento sulle variabili,
costanti e tipi di dati. Sulle variabili sono stati correlati i seguenti
concetti:

  1.. si � discusso del concetto di variabile semplice che memorizza un dato
elementare (una data, una stringa, un valore booleano);
  2.. � stata fatta l'esortazione a tutti gli utenti di utilizzare la
direttiva Option Explicit, al fine di non permettere di creare variabili a
casaccio ed evitare uno spreco irrazionale della memoria, creando variabili
di tipo Variant;
  3.. � stata data una tabella riassuntiva dei tipi di dati elementari
disponibili per VBA;
Adesso dobbiamo argomentare invece:

  1.. la dichiarazione e l'utilizzazione di tipi di dati definiti
dall'utente,usando l'istruzione Type;
  2.. come si dichiarano i vettori (o array monodimensionali) e le matrici
(o array pluridimensionali);
Il codice per dichiarare un tipo � il seguente:

Type archivio

    cognome As String*30

    nome As String*30

    credito As Double

End type

All'interno dell'istruzione type, come anche del resto, nelle istruzioni di
dichiarazione Dim, le stringhe a lunghezza fissa sono dichiarate cos�:

cognome as String*30

dove 30 � la lunghezza caratteri.

Ricordo che avete creato un tipo di dato personalizzato. In Memoria non
avete creato nessun riferimento. Al fine di creare un riferimento in
memoria, dovremmo dichiarare questo tipo di dato con l'istruzione Dim.

Dim elenco As archivio

Osservate che dopo aver indicato la clausola As, grazie alla tecnologia
dell'Intellinsense (o completamento automatico dell'istruzione),
caratteristica insita nel linguaggio Visual Basic, troviamo, tra tutti gli
oggetti, il nostro tipo di dati personalizzato.

Cognome, nome, credito immaginiamo che le abbiamo create con tre istruzioni
Dim singole. Adesso per assegnare un dato, per mezzo del tipo di dato
dichiarato (elenco), si procede cos�:

...

elenco.cognome="Rossi"

elenco.nome="Marco"

elenco.credito=302.20

...

In queste istruzioni di assegnazione:

  1.. i valori alle variabili di tipo stringa vengono indicate tra doppi
apici;
  2.. i valori decimali sono indicati secondo la notazione inglese, usando
il punto.
Come esistono le variabili semplici, per creare delle variabili strutturate,
per le quali a ciascun elemento si accede con uno o pi� indici interi
positivi, si procede cos�:

Dim elenco(dimensione) As TIPO

dove dimensione � possibile indicarla cos� 1 to 10 ad esempio, oppure solo
l'indice superiore, ossia la dimensione massima di elementi memorizzabili

Dim elenco(10) As TIPO

� equivalente a:

Dim elenco(1 to 10) as TIPO

TIPO pu� essere uno dei tipi elementari disponibili per VBA, oppure un tipo
dati personalizzato.

Con un tipo di dato definito dall'utente e le variabili strutturate �
possibile costruire i cosiddetti Array di record

La dichiarazione avviene cos�:

Dim elenco(1 to 10) as archivio

Ad ogni elemento si accede cos�:

elenco(1).cognome


title: Sicurezza tabelle database

author: Gabriele

text:
Ho un database con 5 tabelle ed ho creato delle maschere (un tot) per poter
utilizzare il db senza problema, ora vorrei fare in modo che nessuno riesca
a visualizzare le tabelle/ maschere/query etc...
Ci sono riuscito andando nel menu strumenti -> avvio e deselezionando tutte
le voci presenti, il mio problema è questo come faccio a riattivare queste
opzioni?
TIA
Gab


title: Sicurezza tabelle database

author: MA

text:

lancia il programma tenedo premuto il maiuscolo
oppure File --- e ti chiami l'ultimo file, o ancora F11
--
_ _
Ciao
MAssimiliano Amendola
www.accessgroup.it
Cisa1 - I° Conferenza Italiana per Sviluppatori Access Arezzo 4+5
Giugno 2005 Sono aperte le iscrizioni  Info:
www.donkarl.com/it


title: Sicurezza tabelle database

text:
"MA" <
mas...@massimilianoamendola.it
> ha scritto nel messaggio
news:foGle.12702$TR5....@news.edisontel.com...

E non si può disabilitare anche F11??


title: Sicurezza tabelle database

author: MC

text:
"Gabriele" <
mori197...@libero.it
> ha scritto nel messaggio
news:3aHle.65169$Of5....@nntpserver.swip.net...

guarda nell'help: macro autokeys e su f11 imposti msgbox: bello bello, la
porta non si apre per te oggi!!!
--
MC


title: Replica database on line

author: Kaos

text:
Ho provato a realizzare una replica di database di access direttamente sul
mio sito, tramite FTP. Ma Access mi risponde che non posso farlo. Perchè
allora nella finestra di dialogo da la possibilità di configurare una
connessione FTP? E' solo un mio problema allora?
Kaos.


title: Creazione elenco relazione

author: Roberto

text:
Creazione elenco relazione
Salve,
avrei necessità di poter leggere tramite VBA l'elenco delle relazioni
partendo da una data tabella.
Esempio:
tabella ANAGRAFICA (ID_ANAGRAFICA chiave primaria)
relazione 1 a molti con
tabella RIVENDITE (ID_RIVENDITA  chiave primaria ID_ANAGRAFICA campo
collegato)
relazione 1 a molti con
tabella MAGAZZINO (ID_MAGAZZINO  chiave primaria ID_RIVENDITA campo
collegato)
Vorrei ricostruire i legami partendo da ANAGRAFICA e arrivando a
MAGAZZINO.
Grazie in anticipo per l'aiuto


title: Creazione elenco relazione

author: Alessandro Cara

text:

Hai provato a dare una occhiata alla MsysRelationships?
Ovviamente sempre se hai messo su le relazioni logiche fra le tabelle
--
ac
y-1=x


title: Creazione elenco relazione

text:
"Roberto" <
erre...@yahoo.it
> ha scritto nel messaggio
news:1173443670.4...@j27g2000cwj.googlegroups.com...
Creazione elenco relazione


-------------------------
Non dimenticare che esiste uno strumento inserito direttamente in Access che
permette non solo di visualizzare, elencare e stampare le relazioni ma anche
moltissimi dati su tutti gli oggetti del db.
Questa funzione la trovi da Strumenti, Analizza, Analizzatore. Dalle opzioni
potrai poi scegliere cosa desideri analizzare.
In alternativa questa semplice sub potrebbe fare al caso tuo:
Public Sub DimmiRelazioni()
Dim rl As Relation
For Each rl In CurrentDb.Relations
Debug.Print rl.Name & " " & rl.ForeignTable
Next
End Sub
Ovviamente potrai modificarla e aggiungere tante altre proprietà sulle
relazioni presenti nel db.
Ciao, Carlo


title: Creazione elenco relazione

text:
> Hai provato a dare una occhiata alla MsysRelationships?
> Ovviamente sempre se hai messo su le relazioni logiche fra le tabelle
Ok, visto.
Cosa intendi per relazioni logiche?
Cmq,
non ho capito i seguenti campi:
ccolumn
grbit
icolumn
Cosa significano?
>Public Sub DimmiRelazioni()
>Dim rl As Relation
>For Each rl In CurrentDb.Relations
>Debug.Print rl.Name & " " & rl.ForeignTable
>Next
>End Sub
Per quanto riguarda questo si rimedia un elenco delle proprietà?


title: sql - access

author: Fd

text:
Ciao a tutti (coloro che non sono al mare o in montagna) :-),
dove potrei trovare alcune info su come utilizzare ms access con sql.
Libri/web/news g. ??
Per esempio come posso associare una vista ad un datagrid o listview?
Ciao e grazie
--
Fd


title: sql - access

author: Sergio MAZZA

text:
"Fd" <
f...@libero.it
> ha scritto nel messaggio news:4304870f$0$8494$5fc...@news.tiscali.it...

Spero di aver capito; inizia dall'help in linea alla voce: Proprietà RecordSource...
Ciao.
--
Sergio MAZZA


title: sql - access

text:
"Sergio MAZZA" <
sergi...@tiscali.it
> ha scritto nel messaggio
news:de226h$k50$1...@area.cu.mi.it...
> "Fd" <
f...@libero.it
> ha scritto nel messaggio
news:4304870f$0$8494$5fc...@news.tiscali.it...
> > Ciao a tutti (coloro che non sono al mare o in montagna) :-),
> > dove potrei trovare alcune info su come utilizzare ms access con sql.
> >
> > Libri/web/news g. ??
> >
> > Per esempio come posso associare una vista ad un datagrid o listview?
> >
> > Ciao e grazie
> >
> > --
> > Fd
> >
>
>
Grazie.... ho trovato anche queste info:
http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=52758
anche se con qualche modifica.
PS: che controllo (oggetto) conviene usare, per avere delle buone
prestazioni,  per mostare elenco pesante con magari oltre 10.000 record?
(esempio elenco dei clienti) .
Ri.-ciao e ri-grazie
Fd


title: sql - access

author: Cinzia

text:
"Fd" <
f...@libero.it
> ha scritto nel messaggio
news:43048ee1$0$8482$5fc...@news.tiscali.it...

Ciao Fd,
in un progetto ADP secondo me non è mai una buona idea mostrare oltre 10.000
record ,  indipendentemente dal controllo che usi per farlo.
L'obiettivo dovrebbe essere quello di far vedere solo i record strettamente
necessari.
Considera che se hai effettivamente la necessità di dover far vedere molto
più di 10000 record la soluzione più efficiente potrebbe eesere quella di
usare un MDB collegato a sql via ODBC, dove i record vengono paginati e
scaricati un po' alla volta, contrariamente a quello che avviene con le
maschere ADP dove i record vengono tutti trasferiti nel momento
dell'assegnazione del recordset alla maschera.
Forse ti possono essere utili questi 3d:
http://groups.google.it/group/microsoft.public.it.office.access/browse_frm/thread/bffb70428528a9d1/243d293bafd36f11?lnk=st&q=ADP+group:microsoft.public.it.office.access&rnum=1&hl=it#243d293bafd36f11
http://groups.google.it/group/microsoft.public.it.office.access/browse_frm/thread/2fbc406ae3a60cb/48979780d190ec76?lnk=st&q=ADP+group:microsoft.public.i
t.office.access&rnum=2&hl=it#48979780d190ec76
Saluti
Cinzia


title: sql - access

text:
Grazie mille,
    ottima risorsa..... e quindi ho capito un bel po' di cosette.
Granze Cinzia :-)
Ciao
Fd


title: Errore in SQL

author: carla

text:
Salve, ho fatto questa istruzione sql ma mi presenta un errore:
mi richiede di immettere il valore  [MASCHERA UTENTE].[CODUTENTE]
miosql = "UPDATE [TABELLA prgsol] SET [TABELLA prgsol].tel1 = true WHERE
((([TABELLA prgsol].codutente)=[MASCHERA UTENTE].[CODUTENTE]));"
lo so che sarebbe stato meglio (come mi ha fatto notare @Alex) evitare di
nominare Oggetti come Tabelle e/o Controlli e/o Form con spazi fra i nomi ma
ormai sono troppo avanti per cambiare tutto!
In generale, come mi devo comportare nel SQL quando nella condizione voglio
che prenda un valore del campo PIPPO della MASK PLUTO ?
Grazie
Buonanotte
Carla


title: Errore in SQL

author: Bruno Campanini

text:
"carla" <carl...@NOSPAMhotmail.com> wrote in message
news:4363f650$0$29546$4faf...@reader1.news.tin.it...

=[Forms]![Mask Pluto]![Pippo]
Ciao
Bruno


title: Aiuto!

author: Bart

text:
Ringrazio anticipatamente,
sono ancora inesperto nell'utilizzo dei database come access, ho bisogno di
fare in modo che un campo all'interno di una maschera, si aggiorni
automaticamente a seguito dell'immissione di dati in un altro campo; es:
se io inserisco il codice identificativo di un prodotto, vorrei che si
aggiornassero automaticamente anche i campi relativi "nome", "descrizione",
"prezzo unitario", ma sempre all'interno della maschera, in modo tale che
non sia necessario digitarli singolarmente.
Come posso fare?
Sperando di essere stato chiaro, vi ringrazio di nuovo.
bc...@tin.it


title: Aiuto!

author: Antonio Biso

text:
Bart ha scritto nel messaggio <8747ei$1a0$
1...@nslave1.tin.it
>...

Allora...
a parte che vai a cercare rogne chiamando i tuoi campi nome e descrizione
perchè sono parole riservate di access, il tuo problema si potrebbe
risolvere in vari modi.
Uno potrebbe essere quello di avere una maschera non legata e all'evento
doppo aggiornamento del controllo ID, vai a scrivere i valori nei controlli
della maschera utilizzando n volte la DLookup (vedi l'help).
Oppure potresti far sì che la maschera abbia come origine record una query
che abbia come criterio WHERE che l'ID sia il valore selezionato nel
controllo ID. Poi all'evento dopo aggiornamento ti basterà fare una requery
della maschera
Antonio


title: Aiuto!

author: Giorgio Casazza

text:
Prova a vedere la finzione Dlookup nell'help di Access
Ciao, Giorgio


title: condividere un' applicativo

author: Salvatore De Rosa

text:
Salve
 è possibile condividere l' applicativo in remoto dell ufficio? e gestirlo
come se fosse in locale, da qualsiasi parte mi conneti ?...
Grazie
Salvatore


title: condividere un' applicativo

text:
"Salvatore De Rosa" <
sa...@libero.it
> ha scritto nel messaggio
news:VSXeh.75433$Fk1.2...@twister2.libero.it...
> Salve
>  č possibile condividere l' applicativo in remoto dell ufficio? e gestirlo
> come se fosse in locale, da qualsiasi parte mi conneti ?...
> Grazie
> Salvatore
>
Ciao Salvatore,
suppongo che l'applicativo sia Access... il modo piů "sicuro"  č quello di
usare uno strumento tipo Desktop Remoto su una VPN, in modo tale che il
computer che lavora č quello dell'ufficio e non hai trasferimenti dati ma
solo trasferimenti delle videate, comunque se la connessione č lenta il
tutto č piuttosto "mortale".
--
Cinzia
---------------------------------------
|
http://www.riolab.org
  |
--------------------------------------->


title: condividere un' applicativo

text:
Grazie mille Cinzia
ma con Desktop Remoto č possibile una multiutenza dell'applicativo
"
> Salve
> č possibile condividere l' applicativo in remoto dell ufficio? e gestirlo



title: condividere un' applicativo

text:
Salvatore De Rosa wrote:
> Grazie mille Cinzia
> ma con Desktop Remoto č possibile una multiutenza dell'applicativo
> "
No se vuoi anche la multiutenza da remoto, devi cambiare completamente
strategia  devi fare  un'applicazione internet (ASP, ASP .NET, PHP...)
oppure puoi sempre usare Access come front end ma devi avere un database
server alle spalle come SQL Server.



title: condividere un' applicativo

author: Simone Calligaris

text:
"Salvatore De Rosa"

http://www.alessandrobaraldi.it/DettaglioFaq.asp?IdFAQ=154
Saluti.


title: condividere un' applicativo

author: Carlo Costarella

text:
"Salvatore De Rosa" <
sa...@libero.it
> ha scritto nel messaggio
news:KNZeh.75585$Fk1.2...@twister2.libero.it...
> Grazie mille Cinzia
> ma con Desktop Remoto è possibile una multiutenza dell'applicativo
> "
La stessa che avresti con qualsiasi db Access. Il massimo lo ottieni, come
ha detto Cinzia, con db server, ma se scrivi bene l'applicativo, puoi
benissimo usare il db Access anche in multiutenza e da desktop remoto.
Personalmente uso questa soluzione presso una grossa ditta. Le tabelle
risiedono sulla macchina server, anche le interfacce sono posizionate sul
server, una per ogni utente (10 utenti = 10 interfacce). Ogni utente accede
a mezzo desktop remoto al server, si logga, mette la sua password e gli
compare il suo desktop privato; qui ha il link e null'altro per far partire
il FE.
Il vero problema l'ho trovato con XP che, come sai, non permette più di tre
(in realtà è solo uno) accessi concorrenti via desktop remoto. Altra cosa è
Windows server 2003.
Ho risolto acquistando un pacchetto (XPUnlimited - intorno ai 100 euro) che
abilita XP ad un numero illimitato di connessioni remote concorrenti.
Ciao, Carlo


title: stringa con "

author: aa

text:
vorrei inserire via codice una stringa che contenga all'interno delle
virgolette del tipo
Msgbox "ciao da "pippo" a tutti"
solo che il sig. access la interpreta come:
"ciao da "       " a tutti" e da errore perchè interpreta la parola pippo
come un comando tra le due stringhe.
come posso fare per incapsulare le virgolette??
ciao


title: stringa con "

author: RoDAgo

text:
"aa" ha scritto nel messaggio ...

Ti basta raddoppiarle in questo modo:
MsgBox "ciao da ""pippo"" a tutti"
> ciao
Cià
RoDAgo


title: stringa con "

text:
> > come posso fare per incapsulare le virgolette??
> Ti basta raddoppiarle in questo modo:
> MsgBox "ciao da ""pippo"" a tutti"
grazie mille!
ciao


title: stringa con "

author: Micio

text:
usa:   chr$(34)
cioč:
    Msgbox "ciao da " & chr$(34) & "pippo" & chr$(34) & " a tutti"
Micio
aa <
antoniob...@hotmail.com
> wrote in message
PrXr5.36487$Wi7.4...@news.infostrada.it...
> vorrei inserire via codice una stringa che contenga all'interno delle
> virgolette del tipo
> Msgbox "ciao da "pippo" a tutti"
> solo che il sig. access la interpreta come:
> "ciao da "       " a tutti" e da errore perchč interpreta la parola pippo



title: Ora e minuti attuali

author: vuLCan Karayan

text:
Vorrei che le mie due variabili intOra e intMinuti contenessero
rispettivamente ore e minuti dell'orogologio di sistema.
Per la data le funzioni sono Year, Month e Day.
Per l'orario?


title: Ora e minuti attuali

author: MA

text:

Time
--
_ _
Ciao
MAssimiliano Amendola
www.accessgroup.it
Cisa1 - I° Conferenza Italiana per Sviluppatori Access Arezzo 4+5
Giugno 2005 Sono aperte le iscrizioni  Info:
www.donkarl.com/it


title: Ora e minuti attuali

text:
> Time
Grazie Massimiliano.
Intendevo
Hour(Time)
Minute(Time)
Le ho trovate grazie al tuo consiglio. :)
Ciao


title: Intercettare un errore di apertura file

author: BIX

text:
Ho bisogno d'intercettare un'errore di apertura file che sembra non essere
gestito da access.
Devo aprire dei file (doc- xls - dwg...) su vari CD ROM attraverso un clik
su un campo collegamento ipertestuale.
Non riesco ad intercettare l'errore che viene generato quando il file non è
presente sul CD ROM attualmente nel lettore.
Non so se esiste una funzione di Acceess che mi permetta di rilevare la
presenza del CD ROM nel lettore, o, se devo utilizzare un API quale?
Grazie a tutti ciao
BIX


title: Intercettare un errore di apertura file

text:
"BIX" <
B...@sidmund.com
> ha scritto nel messaggio
news:9d6k4d$24f$1...@nreadB.inwind.it...

Nell'help la funzione Dir()...
Ciao.


title: Nuovo record creato per differenza matematica

author: Giorgia

text:
Buongiorno a tutti.
Attualmente tramite form (seppur non funzioni ancora benissimo) inserisco le
scadenze di pagamento di una fattura.
Se necessario, inserisco io manualmente le rate.
A volte però paghiamo l'acconto in un primo momento e poi il saldo.
Per non fare 2 passaggi ovvero prima creare il record con il saldo e poi
contabilizzare il pagamento dell'acconto (quindi fare io la differenza in
sostanza prima di creare il nuovo record e modificare il primo che è
diventato un acconto), come posso ottenere che:
- importo in scadenza= 200.00?
- per un acconto pagato di ? 30.00, vado a contabilizzarlo tramite un
pulsante con evento click:
 Dim stDocName As String
    Dim stLinkCriteria As String
    stDocName = "PAGAMENTO"
    stLinkCriteria = "[PROTOCOLLO NUMERICO]=" & Me![PROTOCOLLO] & " AND
[ORIGINE] ='" & [ORIGINE] & "'"
    DoCmd.OpenForm stDocName, , , stLinkCriteria
- vorrei visualizzare il nuovo record di una scadenza rimanente di ?170.00
Solita casinara???
Giorgia


title: Dubbi su RunCommand

author: Daniele LBSF

text:
Salve
Sto gestendo un'anagrafica di clienti e ho iniziato a sostituire al posto
dei vecchi comandi "DoCmd.DoMenuItem" il comando "RunCommand".
Per quanto riguarda gli spostamenti, i comandi annulla, etc., va tutto bene
però quando tento di salvare con il comando
"Docmd.RunCommand acCmdSave" non funziona ( neanche acCmdSaveRecord )!
Che cosa devo fare? Devo riutilizzare il comando "DoCmd.DoMenuItem
acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70"?
Grazie.


title: Dubbi su RunCommand

author: yQy

text:
On Fri, 25 Jul 2003 12:37:13 GMT, "Daniele LBSF" <
d.mi...@sicop.it
>
wrote:

hai provato anche solo con
-----------
Private Sub...
  accmdsaverecord
End Sub
----------
?


title: visualizzare email di due id in un'unica soluzione

author: Franco dellavalle

text:
ciao a tutti

Ho una TbEmailFornitori e una TbFornitori.
La TbFornitori è cosi composta
IdFornitore
NomeFornitore
IdFornitoreFatt
ecc. ecc.

Ora vorrei, che la subForm "SM_Email"
mi mostrasse le email relative al
fornitore selezionato,
(nella casella combinta della main Form),
e le email relative all'id
del campo "IdFornitoreFatt" se non null.

Come devo fare?

grazie


author: RobertoA

text:

Magari se descrivi come e' fatta la tb TbEmailFornitori e' meglio
Ancor meglio se descrivi con precisione cosa vuoi ottenere, perche'
leggendo quanto sopra non si capisssie bene

Anyway, fai una form continua, con le righe visualizzanti la selezione
"fornitore selezionato"
Poi nella sezione testata ci metti una subform con le righe
visualizzanti la selezione "IdFornitoreFatt non nullo"


text:
cut
ciao RobertoA
> Magari se descrivi come e' fatta la tb TbEmailFornitori

TbEmailFornitori:
IdEmailFornitore Contatore PK
IdFornitore numerico
ContattoFornitore testo
EmailFornitore testo
InvioAnagrafica testo
ecc. ecc.

> e' meglio
> Ancor meglio se descrivi con precisione cosa vuoi ottenere, perche'
> leggendo quanto sopra non si capisssie bene

vorrei ottenere questo nella subform "SM_Email" a maschere continue
IdEmailFornitore, ContattoFornitore, EmailFornitore, ecc. ecc.
+
IdEmailFornitore, ContattoFornitore, EmailFornitore, ecc. ecc.
dove TbEmailFornitori.IdFornitore =  TbFornitori.IdFornitoreFatt

in pratica una Union select.

grazie


title: Inserimento dati

author: Gianca

text:
Buonasera!
Ho creato una maschera con 5 campi e vorrei che quando viene cliccato
il pulsante questi 5 campi andassero a popolare una tabella sql. Da
neofita, ravanando quà e là ho partorito questo:
Private Sub but_insert_Click()
    Dim db As DAO.Database
    Dim sql_ins As String
    ' INSERIMENTO DEI DATI
    Set db = CurrentDb
    ' Preparazione query inserimento valori
    sql_ins = "INSERT INTO odbc_sql_x_pma_data" _
        &
" (xpma_data_code,xpma_data_type,xpma_data_description,xpma_data_price,xpma_data_period)"
_
        & " VALUES" _
        & " ('" & Me!cmb_type & "','" & Me!txt_descri & "','" & Me!
txt_descri_estesa & "','" & Me!txt_prezzo & "','" & Me!txt_periodo &
"'"
    ' Esecuzione query
    db.Execute sql_ins
    Set db = Nothing
    Exit Sub
End Sub
ma s'inchioda sempre e si evidenzia di giallo la riga db.Execute
sql_ins....


title: Inserimento dati

text:

scusate, mancava una stupida parentisi in fondo alla query.... scusate
la newmbaggine...!!!


title: Inserimento dati

author: 'Roccia' Max

text:
On Jun 20, 4:48 pm, Gianca <
gianc...@gmail.com
> wrote:
>     db.Execute sql_ins
Invece di questo, usa
docmd.runsql sql_ins
Dopodichè la variabile DB non dovrebbe piu' servire.
cia'
Max


title: Inserimento dati

text:

Grazie!


title: Aiuto con ODBC

author: Jeff

text:
Ho questo problema. Da un momento all'altro , da Access, quando faccio
importa o collega , come Tipo File mi appare solo Microsoft Access e
Database ODBC, tralasciando tutti quelli che mi servono (Excel, Testo,
ecc).
Mi è stato dato questo suggerimento, senza però nessuna spiegazione. E io
non so proprio come agire:
"Technical Information: Removing/Adding Wizards Fails to Create ISAM
Registry Key [Q160954]"
Sapete aiutarmi ?
Grazie a tutti.


title: Aiuto con ODBC

author: Sergio MAZZA (Ufficio Stampa)

text:
"Jeff" <
la...@libero.it
> ha scritto nel messaggio
news:0QbI6.10965$_r2.1...@news2.tin.it...

Prova a reinstallare in modo completo access...
Ciao.


title: Aiuto con ODBC

author: Karl Donaubauer

text:
Jeff <
la...@libero.it
> ha scritto:
> Ho questo problema. Da un momento all'altro , da Access, quando faccio
> importa o collega , come Tipo File mi appare solo Microsoft Access e
> Database ODBC, tralasciando tutti quelli che mi servono (Excel, Testo,
> ecc).
Di solito è un problema di registry. Qualche volta di dlls.
Informazione e soluzioni:
ACC97: Certain ISAM Drivers Not Appearing in Files Of Type Box
http://support.microsoft.com/support/kb/articles/Q171/9/55.ASP
--
HTH
Karl
*********
Access-FAQ (tedesco):
http://www.donkarl.com


title: Aiuto con ODBC

text:
L'ho disinstallato e poi reinstallato ma senza cambiamenti. ho anche
installato gli ODBC scaricati dal sito Microsoft, ma nulla.
Suggerimenti ?



title: Aiuto con ODBC

author: Sergio MAZZA

text:
"Jeff" <
la...@libero.it
> ha scritto nel messaggio
news:K9sI6.13731$_r2.2...@news2.tin.it...
> L'ho disinstallato e poi reinstallato ma senza cambiamenti. ho anche
> installato gli ODBC scaricati dal sito Microsoft, ma nulla.
> Suggerimenti ?
>
(Purtroppo) Quello di scrivere dopo il messaggio precedente come faccio io,
grazie.
Hai seguito il suggerimento di Karl? (Tanto pe' provà) Dopo la
disinstallazione hai "passato" l'erase2K (acc'2000) o erase97?
Ciao.


title: Aiuto con ODBC

text:
Grazie infinite.
"Karl Donaubauer" <
ad...@donkarl.com
> ha scritto nel messaggio
news:9crq3v$f23l7$1...@ID-46617.news.dfncis.de...



title: Prometea

author: EDPnet

text:
Ciao a tutti.
Vi piacerebbe avere una casa in una città virtuale?
Una casa che contiene la vostra home page (Qualsiasi sia il vostro
fornitore: tin, excite, tripod, tiscalinet ecc.).
venitela a vedere su
http://www.prometea.it
e se l'Home Page non l'avete ... ve ne costruite una.
tutto questo è ovviamente GRATIS.
Ciao a presto.


title: Uso di Like

author: Salvio

text:
Ho la seguente Query :
(Che per scrivere qui ho semplificato rispetto all'originale)
SELECT Tab.Categoria, Tab.SottoCategoria, Tab_Multimedia.Nome
FROM Tab
WHERE (((Tab.Categoria) Like "*" & Categoria & "*"));
Da Codice VBA faccio la seguente operazione
Dim sql
sql = "SELECT Tab.Categoria, Tab.SottoCategoria, Tab.Nome"
sql = sql & " FROM Tab"
sql = sql & " WHERE (((Tab.Categoria) Like ""*"" " & " & Categoria" & "
& "" * "")"
Me!Lista.RowSource = sql
E non mi funziona.
Se faccio MsgBox (sql) la sintassi mi sembra corretta...
In cosa sbaglio?
Grazie per l'aiuto


title: Uso di Like

author: Bruno Campanini

text:
"Salvio" <
nico...@hotmail.it
> wrote in message
news:1142813903.3...@u72g2000cwu.googlegroups.com...
> Ho la seguente Query :
> (Che per scrivere qui ho semplificato rispetto all'originale)
>
> SELECT Tab.Categoria, Tab.SottoCategoria, Tab_Multimedia.Nome
> FROM Tab
> WHERE (((Tab.Categoria) Like "*" & Categoria & "*"));
Prima di portare la stringa SQL in VBA sostituisci dalla
griglia QBE le " con '
WHERE (((Tab.Categoria) Like '*' & Categoria & '*'));
 > Da Codice VBA faccio la seguente operazione
>
> Dim sql
> sql = "SELECT Tab.Categoria, Tab.SottoCategoria, Tab.Nome"
> sql = sql & " FROM Tab"
> sql = sql & " WHERE (((Tab.Categoria) Like ""*"" " & " & Categoria" & "
> & "" * "")"
14 virgolette in una riga...!
In VBA diventa:
SQL=SQL & "WHERE (((Tab.Categoria) Like '*'"  & Categoria & "'*'));"
Bruno


title: Uso di Like

author: Potone

text:
"Salvio" <
nico...@hotmail.it
> ha scritto nel messaggio news:1142813903.3...@u72g2000cwu.googlegroups.com...

Ciao,
la sintassi di Like è
    DaConfrontare Like "*TuoCriterio*"
nel tuo caso hai posto gli asterischi tra apici quindi dovresti eliminarli.
Ciao
Mat.


title: Uso di Like

text:
Ci sono risuscito, eccome come ho fatto :
Dim Asterisco
Asterisco="*"
Like " & " '" & Asterisco & txtCategoria & Asterisco & "'))"
Grazie dei Suggerimenti


title: Duplicati in query sql!

text:
Sto diventando matta!!!! ho una query
SELECT D25SOCIETA.D25DENOMINAZIONE, D20RAGIONISOC.D20DESCRIZIONE,
D25SOCIETA.D25TELEFONO, D25SOCIETA.D25FAX, D25SOCIETA.D25INDIRIZZO,
D25SOCIETA.D25CAP, D02CITTA.D02DESCRIZIONE, D25SOCIETA.D25PROVINCIA,
D40STATO.D40DESCRIZIONE, D25SOCIETA.D25CONTATTO, D25SOCIETA.D25NOTE,
D25SOCIETA.D25STAMPA, D50CATEGORIESTAMPA.D50DESCRIZIONE,
D25SOCIETA.D25DATAINSERIMENTO, D05DONAZIONI.D05DATA,
D25SOCIETA.D25CODICEID, D05DONAZIONI.D05CODICEDONA,
D25SOCIETA.D25CODICEID
FROM D50CATEGORIESTAMPA INNER JOIN (D40STATO INNER JOIN (D20RAGIONISOC
INNER JOIN (D02CITTA INNER JOIN (D05DONAZIONI INNER JOIN D25SOCIETA ON
(D05DONAZIONI.D05CODICEID = D25SOCIETA.D25CODICEID) AND
(D05DONAZIONI.D05TIPOSOGG = D25SOCIETA.D25TIPOSOGG)) ON
D02CITTA.D02CODICECITTA = D25SOCIETA.D25CODICECITTA) ON
D20RAGIONISOC.D20CODICERAGIONE = D25SOCIETA.D25CODICERAGIONESOC) ON
D40STATO.D40CODICESTATO = D25SOCIETA.D25STATO) ON
D50CATEGORIESTAMPA.D50CODICECATEGORIADISTAMPA =
D25SOCIETA.D25CODICECATEGORIADISTAMPA
WHERE (((D05DONAZIONI.D05DATA)>=[Forms]![Ricerca_privati]![Testo92] And
(D05DONAZIONI.D05DATA)<=[Forms]![Ricerca_privati]![Testo94]))
ORDER BY D25SOCIETA.D25CAP;
quello che fa è selezionare dei record in base a delle date che
l'utente passa tramite delle caselle di testo
e funziona!
MA
mi trova record duplicati (nella tabella D05DONAZIONI ci sono donazioni
fatte da società contenute in D25SOCIETA, ma poichè ci possono essere
società che hanno fatto più di una donazione eccolo là che trova
duplicati)
ho provato con DISTINCT (subito dopo il select)
ho provato con GROUP BY (subito prima del ORDER BY, con argomento tutti
i campi visualizzati, sennò access mi dava errore)
MA continua a darmi duplicati!!!! AIUTOO


title: Duplicati in query sql!

text:

> MA ...
Sì, è sempre lui il colpevole!
> mi trova record duplicati (nella tabella D05DONAZIONI ci sono donazioni
> fatte da società contenute in D25SOCIETA, ma poichè ci possono essere
> società che hanno fatto più di una donazione eccolo là che trova
> duplicati)
>
> ho provato con DISTINCT (subito dopo il select)
>
> ho provato con GROUP BY (subito prima del ORDER BY, con argomento tutti
> i campi visualizzati, sennò access mi dava errore)
>
> MA ...
Come già detto!
> continua a darmi duplicati!!!! AIUTOO
Sei sicuro che si tratta di "duplicati"?
DISTINCT o GROUP BY riunirono solo record che hanno valori
uguali in _tutti_ campi del SELECT. Allora devi ridurre i campi
a questi con valori uguali per ricevere il risultato desiderato.
--
HTH
Karl
*********
Access FAQ:
www.donkarl.com/it


title: Duplicati in query sql!

author: MA

text:
Karl Donaubauer wrote:
>> quello che fa è selezionare dei record in base a delle date che
>> l'utente passa tramite delle caselle di testo
>> e funziona!
>> MA ...
>
> Sì, è sempre lui il colpevole!
>>
>> MA ...
>
> Come già detto!
ROTFL
--
_ _
Ciao
MAssimiliano Amendola
www.accessgroup.it
Cisa - Conferenza Italiana per Sviluppatori Access
Info:
www.donkarl.com/it


title: Duplicati in query sql!

text:
e sì. mi escono i dati di stesse società più volte..
che intendi per "ridurre i campi a questi con valori uguali per
ricevere il risultato desiderato. "


title: Duplicati in query sql!

text:
alla fine ho capito, per sbaglio avevo messo nel select un dato che non
era univoco per i record uguali.. distrazione insomma! tnx cmq per
l'aiuto


title: Duplicati in query sql!

text:

Che č quello che ti diceva Karl



title: Duplicati in query sql!

author: Enrico

text:
raistlin_majere ha scritto:
> e sì. mi escono i dati di stesse società più volte..
> che intendi per "ridurre i campi a questi con valori uguali per
> ricevere il risultato desiderato. "
beh in questo momento nn posso fare prove ma utilizzando una
subquery...
Si potra'?
tipo togli on d05codiceid=d25codiceid
e metti
where .... d25codiceID IN (select distinct... from d05)
Mi fai sapere cosi' x curiosita'?
tk
Ciao Carl
Enrico


title: Access e FinePrint

author: Fabio Valsangiacomo

text:
Ciao,

C'è qualc'uno che ha già utilizzato Access con
FinePrint (driver di stampa) ?

Fabio