title: OT: connessione remota ADSL

text:
"max" <
pi...@pippo.it
> ha scritto nel messaggio
news:h2akqs$1jn$1...@news.task.gda.pl...
CUT
> ma tutti questi software anche con ip statico quanto sono sicuri? io di
> solito uso VNC one touch per farmi "chiamare" dal cliente, ho anche la
> versione installata sul server ma la abilito e disabilito io quando mi
> serve collegarmi alla "consolle principale", ho sinceramente paura a
> tenerla sempre aperta e con la porta aperta sul firewall sono troppo
> pauroso?
Molti anni f� partecipai a una convention di Infostrada, allora si parlava
ancora di ISDN flat 68/128 Kbps (altro che ADSL), il tema era la sicurezza
informatica e l'oratrice per far capire il problema della sicurezza, dopo
aver parlato a lungo di connessioni, pc in rete, ecc. ecc., chiese: "seondo
voi, qual � la cosa che mette a maggior rischio la sicurezza dei computer?"
in quel momento credo che volesse parlare di determinate configurazioni cui
ancora non aveva accennato, ma a me venne spontaneo rispondere: "il fatto di
essere connessi in rete".
La sala � caduta nel silenzio e l'oratrice � rimasta senza parole per almeno
60 secondi.
Poi si � ripresa lentamente dicendo "..s�.. vabb�... certo... ma io
intendevo ..." e cos� via fino a cambiare discorso.
Il fatto � che � certo che la sicurezza assoluta non esiste, soprattutto coi
sistemi che ci vengono proposti (vedi servizi firewall degli operatori)
l'unica cosa che possiamo fare � aprire una sola porta e proteggerla con una
password complessa nella speranza che nessuno la "inserti" (cio� la
indovini) per caso.
Per quanto riguarda i virus, mi attengo a un'altra filosofia, parafrasando
Dante: "pi� che l'antivirus, pot� l'account limitato".
Ciao
Davide
--



title: OT: connessione remota ADSL

author: Cosimo S,

text:
On 29 Giu, 17:36, "Davide" <
iodavideNO_S...@hotmail.it
> wrote:
> "max" <
pi...@pippo.it
> ha scritto nel messaggionews:h2akqs$1jn$1...@news.task.gda.pl...
> CUT
>
> > ma tutti questi software anche con ip statico quanto sono sicuri? io di
> > solito uso VNC one touch per farmi "chiamare" dal cliente, ho anche la
> > versione installata sul server ma la abilito e disabilito io quando mi
> > serve collegarmi alla "consolle principale", ho sinceramente paura a
> > tenerla sempre aperta e con la porta aperta sul firewall sono troppo
> > pauroso?
>
> Molti anni fà partecipai a una convention di Infostrada, allora si parlava
> ancora di ISDN flat 68/128 Kbps (altro che ADSL), il tema era la sicurezza
> informatica e l'oratrice per far capire il problema della sicurezza, dopo
> aver parlato a lungo di connessioni, pc in rete, ecc. ecc., chiese: "seondo
> voi, qual è la cosa che mette a maggior rischio la sicurezza dei computer?"
> in quel momento credo che volesse parlare di determinate configurazioni cui
> ancora non aveva accennato, ma a me venne spontaneo rispondere: "il fatto di
> essere connessi in rete".
> La sala è caduta nel silenzio e l'oratrice è rimasta senza parole per almeno
> 60 secondi.
> Poi si è ripresa lentamente dicendo "..sì.. vabbè... certo... ma io
> intendevo ..." e così via fino a cambiare discorso.
> Il fatto è che è certo che la sicurezza assoluta non esiste, soprattutto coi
> sistemi che ci vengono proposti (vedi servizi firewall degli operatori)
> l'unica cosa che possiamo fare è aprire una sola porta e proteggerla con una
> password complessa nella speranza che nessuno la "inserti" (cioè la
> indovini) per caso.
> Per quanto riguarda i virus, mi attengo a un'altra filosofia, parafrasando
> Dante: "più che l'antivirus, potè l'account limitato".
>
> Ciao
> Davide
>
> --
http://www.gestionedati.com
>
> "...perchè non esistono saggi per nascita."
> (Ptahhotep, 2640 ac)
Se vuoi, con teamviewer ogni volta che vuoi collegarti
chiami il cliente gli fai lanciare il programma e lui ti genera
una password nuova.


title: OT: connessione remota ADSL

author: Sergio MAZZA

text:
"Davide" <
iodavid...@hotmail.it
> ha scritto nel messaggio
news:4a48db2f$0$3109$c83e...@anchorman-read.tele2.net...
>
> Cioï¿½?
https://secure.logmein.com/products/hamachi/vpn.asp
>
> Ciao
> Davide
>
>
> --
>
http://www.gestionedati.com
>
> "...perchï¿½ non esistono saggi per nascita."
> (Ptahhotep, 2640 ac)
>
Ciao.
--
Sergio MAZZA


title: OT: connessione remota ADSL

author: Pablitomf

text:
Sergio MAZZA ha scritto:
> "Davide" <
iodavid...@hotmail.it
> ha scritto nel messaggio
> news:4a48db2f$0$3109$c83e...@anchorman-read.tele2.net...
> >
> > Cio�?
>
https://secure.logmein.com/products/hamachi/vpn.asp
io direi piuttosto questo :
http://www.hamachi.it/old/
--
Ciao
Pablitomf
----------------------------
http://www.accessgroup.it/
----------------------------
Non mi fido molto delle statistiche, perch� un uomo con la testa nel forno
acceso e i piedi nel congelatore statisticamente ha una temperatura media.
questo articolo e` stato inviato via web dal servizio gratuito



title: Dove sbaglio? rowsource di combobox

author: SuperDavid

text:
Ciao a tutti,
non risco a capire dove sto sbagliando.
Me!combo.RowSource = "SELECT * FROM MODULI WHERE Len([MODULI]![COD])>" &
pippo
Questa e' l'espressione che dovrebbe inserire dei valori in una combo box
solo se la lunghezza di COD (COD è un campo della tabella MODULI) è > di 4.
Ho provato varie soluzioni ma non funziona nessuna eccone un po'
"SELECT * FROM MODULI WHERE Len([MODULI]![COD])>'4'"
"SELECT * FROM MODULI WHERE (((Len([MODULI]![COD]))>4))"
Chi mi sa aiutare?
Grazie
--
* SuperDavid *


title: Dove sbaglio? rowsource di combobox

text:
"SuperDavid" <
davi...@yahoo.it
> ha scritto nel messaggio
news:YdsJ7.112429$sq5.5...@news.infostrada.it...

Scusate ma ho risolto.........l'evento che richiamava il requery del combo
non era selezionato.
Grazie
--
*SuperDavid*


title: Istruzione SQL per origine casella di riepilogo

author: Master

text:
Buongiorno a tutti,
Qualcuno di Voi mi sa dire cortesemente come mai, se io imposto
direttamente nelle proprietà di una casella di riepilogo la sua
origine dati con la seguente istruzione SQL:
SELECT [Terzisti].[IDTerzista], [Terzisti].[RagioneSociale1],
[Sedi].[Città], [Sedi].[Provincia], [Sedi].[Stato],
[Terzisti].[OlioEsausto] FROM Terzisti INNER JOIN Sedi ON
[Terzisti].[IDTerzista]=[Sedi].[IDTerzista] WHERE
((([Sedi].[SedePrincipale])=True)) ORDER BY
[Terzisti].[RagioneSociale1];
ottengo effettivamente dei valori, mentre se la imposto da codice in
questo modo:
crElencoTerzisti.ControlSource = "SELECT [Terzisti].[IDTerzista],
[Terzisti].[RagioneSociale1], [Sedi].[Città], [Sedi].[Provincia],
[Sedi].[Stato], [Terzisti].[OlioEsausto] FROM Terzisti INNER JOIN Sedi
ON [Terzisti].[IDTerzista]=[Sedi].[IDTerzista] WHERE
((([Sedi].[SedePrincipale])=True)) ORDER BY
[Terzisti].[RagioneSociale1]"
pur non riscontrando alcun errore, non ottengo nulla (casella di
riepilogo vuota)?
Grazie a tutti anticipatamente.
Denis


author: MA

text:

Requery
MAssimiliano


author: TONY

text:
"Master" <
costa...@inwind.it
> ha scritto nel messaggio
news:9c2f74f8.0307...@posting.google.com...

Ciao ..usa la proprietà RowSource del controllo ,abbinato alla proprietà
RowSourceType ... ControlSource si riferisce ad un campo della Tabella o
Query di origine...


text:
[CUT]
> Requery
> MAssimiliano
Mi dispiace, ma non funziona.
Ciao, Denis


text:
"TONY" <
apiera...@sicop.it
> wrote in message news:<CcaRa.179291$
Ny5.5...@twister2.libero.it
>...
> "Master" <
costa...@inwind.it
> ha scritto nel messaggio
> news:9c2f74f8.0307...@posting.google.com...
> > Buongiorno a tutti,
> >
> > Qualcuno di Voi mi sa dire cortesemente come mai, se io imposto
> > direttamente nelle proprietą di una casella di riepilogo la sua
> > origine dati con la seguente istruzione SQL:
> >
> > SELECT [Terzisti].[IDTerzista], [Terzisti].[RagioneSociale1],
> > [Sedi].[Cittą], [Sedi].[Provincia], [Sedi].[Stato],
> > [Terzisti].[OlioEsausto] FROM Terzisti INNER JOIN Sedi ON
> > [Terzisti].[IDTerzista]=[Sedi].[IDTerzista] WHERE
> > ((([Sedi].[SedePrincipale])=True)) ORDER BY
> > [Terzisti].[RagioneSociale1];
> >
> > ottengo effettivamente dei valori, mentre se la imposto da codice in
> > questo modo:
> >
> > crElencoTerzisti.ControlSource = "SELECT [Terzisti].[IDTerzista],
> > [Terzisti].[RagioneSociale1], [Sedi].[Cittą], [Sedi].[Provincia],
> > [Sedi].[Stato], [Terzisti].[OlioEsausto] FROM Terzisti INNER JOIN Sedi
> > ON [Terzisti].[IDTerzista]=[Sedi].[IDTerzista] WHERE
> > ((([Sedi].[SedePrincipale])=True)) ORDER BY
> > [Terzisti].[RagioneSociale1]"
> >
> > pur non riscontrando alcun errore, non ottengo nulla (casella di
> > riepilogo vuota)?
> >
> > Grazie a tutti anticipatamente.
> >
> > Denis
> Ciao ..usa la proprietą RowSource del controllo ,abbinato alla proprietą
> RowSourceType ... ControlSource si riferisce ad un campo della Tabella o
> Query di origine...
Grazie ai tuoi suggerimenti ho risolto il problema alla grande. Stavo
proprio prendendo un granchio!
Grazie ancora, Denis.


title: selezionare campi

author: rosanna

text:
Ciao ragazzi! Volevo sapere se è possibile tramite combobox o elenco
selezionare un nome di campo di un db per aggiornare i campi uno alla volta
senza mostrarli tutti nella maschera.
grazie
Ros


title: selezionare campi

text:
"rosanna" <
ros...@libero.it
> ha scritto nel messaggio
news:b3750q$6m2$1...@lacerta.tiscalinet.it...

Si, nella combo della Form associata alla Tabella in cui aggiornare i Campi
modifica
in "Elenco Campi" l'origine controllo, poi devi gestire via codice il tutto.
@Alex.


title: selezionare campi

text:
"@Alex" <
ik2...@libero.it
> ha scritto nel messaggio
news:6_F5a.144311$ZE.41...@twister2.libero.it...

Ti ringrazio innanzitutto e scusami ma non ho capito molto, potresti farmi
un esempio piu' dettagliato?
grazie
Ros
ps: faccio un'esempio:
tabella1 che contiene i campi studente, italiano, matematica, inglese,
francese. Io voglio aggiornare, in base allo studente=pippo, una volta il
campo italiano, una volta inglese, ecc. mostrandone uno alla volta nella
maschera
grazie
Ros


title: selezionare campi

text:
"rosanna" <
ros...@libero.it
> ha scritto nel messaggio
news:b39to2$ba9$1...@lacerta.tiscalinet.it...

Premettendo che hai impostato male il DB, in quanto stai usando il classico
caso di Relazione 1--Molti senza saperlo.
E' vero che ogni studente può partecipare a molte materie...??
E' vero anche che le materie possono essere molte.
Si, quindi devi creare 3 Tabelle Relazionate 1--Molti---1
1)Tabella Studenti
2)Tabella DettaglioStudenti
3)Tabella Materie
Questo ti permetterà una grande flessibilità.
Secondo me dovresti rivedere in quest'ottica il tuo DB.
Di conseguenza puoi strutturare con Sottomascere dedicate
ad ogni studente ed avere di conseguenza i dettagli delle materie.
@Alex.


title: Dopo le tabelle relazionate .... le maschere

author: vistabrxp

text:
Ciao a tutti.
Adesso ho un altro problema.
Ho creato le tabelle con tutte le relative relazioni.
Adesso, come faccio a creare una maschera ce inserendo i dati finali
mi aggiorni tutte le tabelle automaticamente?
Potete darmi una mano?
Grazie mille.


text:
Dimenticavo ...
Io vorrei avere una maschera nella quale si abbia la possibilità di
selezionare il luogo, poi la stanza, poi lo scaffale ed alla fine
immettere la descrizione dell'articolo.
Dopo l'inserimento dovrei avere la possibilità di andare nel luogo e
visualizzare tutte le stanze presenti, poi esplodere le stanze e
visualizzare gli scaffali presenti ed infine poter visualizzare il
contenuto con la descrione.
Come posso fare.
Potete darmi un'indicazione?
Grazie mille.
vistabrxp <
19589i...@mynewsgate.net
> ha scritto:



title: gruppo di opzioni

author: ato

text:
Salve a tutti,
ho un bottone che lancia una maschera "Proto" filtrata in base a between
data come  qui sotto riportato (formatto due campi testo6 e testo8 in date):
Private Sub Comando49_Click()
On Error GoTo Err_Comando49_Click
    Dim stDocName As String
    Dim stLinkCriteria As String
    stDocName = "Proto"
    stLinkCriteria = "Datacomp Between # " & _
Format(Me![Testo6], "mm/dd/yyyy") & _
" # AND # " & _
Format(Me![Testo8], "mm/dd/yyyy") & "#"
    DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_Comando49_Click:
    Exit Sub
Err_Comando49_Click:
    MsgBox Err.Description
    Resume Exit_Comando49_Click
End Sub
vorrei aggiungere 3 opzioni  da confrontare con un campo "tipo" della
maschera  "proto" e per filtrarla in base ai campi data e i campi opzione
(tutti e tre)
mi sto picchiando con strutture if che per la mia scarsissima conoscenza non
riesco a far funzionare...
Una dritta sarebbe moooolto ben accetta :-)
grazie in anticipo
ciao
marco


title: gruppo di opzioni

author: 'gnurant

text:
in stLinkCriteria aggiungi la stringa "(proto=opz1 or proto=opz2 or
proto=opz3)"
Penso basti
Fammi sapere altrimenti
Ciauz

--
'gnurant come una cucuzza
Inviato da
www.mynewsgate.net


title: gruppo di opzioni

text:
Ops, ho fatto una svista...proto è la maschera e tipo è la casella..già
già...allora aggiungi... Me.Tipo & "=opz1 or " & Me.Tipo & "=opz2 or " &
Me.Tipo
& "=opz3" ...uhm..così va meglio :o)
Ovviamente per opz1, opz2 e opz3 intendo i nomi delle tre opzioni che
tu
sai :o)
Ciauz



title: Access 2007/2010 Requery su ListBox

text:
Ciao a tutti,
ho diverse applicazioni che partono dal popolare una ListBox con il contenuto di una Tabella o di una query.
Evidenzio un problema che ciclicamente mi "disturba":
seleziono una riga della ListBox, ci faccio d/click e si apre un Formche è popolata con i campi della Tabella o della Query che hanno popolato la ListBox; cambio alcuni valori, chiudo il Form in questione che, su chiusura aggiorna la Tabella o la Query. Faccio una query sul campo della ListBox che non mi aggiorna
il contenuto della ListBox, mentre il contenuto della Tabella risulta essere correttamente aggiornato!!
Non riesco a capire dove sbaglio. Potete illuminarmi?
Spero di essere stato chiaro


title: Access 2007/2010 Requery su ListBox

text:

Salve....
Su evento chiusura form dove cambi valori:

 Forms![tua form].[tualistbox].Requery

Saluti
M7a1x


title: Access 2007/2010 Requery su ListBox

text:

Ottimo, funziona!! non capisco che differenza fà tra metterlo, come facevo e faccio normalmente, dopo la chiamata del Form che permette la gestione della Tabella; sono per cui nella ListBox.
Non è molto importante in quanto funziona e và bene così, però se non è un problema mi piacerebbe capire.
Grazie in ogni caso


title: Access 2007/2010 Requery su ListBox

text:

Per non generare errori quando usi la maschera di modifica senza
ricorrere alla listbox, creati un modulo e incolla il seguente codice:

Function IsLoaded(ByVal strFormName As String) As Integer

    Const conObjStateClosed = 0
    Const conDesignView = 0

    If SysCmd(acSysCmdGetObjectState, acForm, strFormName) <>
conObjStateClosed Then
        If Forms(strFormName).CurrentView <> conDesignView Then
            IsLoaded = True
        End If
    End If

End Function

Ora sostituisci la riga che ti ho postato precendentemente con la
seguente:

If IsLoaded("Tua form") Then
 Forms![tua form].[tualistbox].Requery
Else
End If

In questo modo aggiornerà la listbox soltanto se la maschera che la
contiene è aperta.
Saluti
M7a1x


title: ERRORE SU APERTURA MASCHERA

author: alex

text:
Con il codice formidabile del buon sergio mazza ho risolto il problema del
bloccare alcune caselle a seconda che un chek fosse true o false.
PROBLema 2: Ho scritto una funzione che azzera completamente la tabella
simulando tipo un azzeramento archivi.
AL momento di aprire la mashera dopo che ho azzerato tutto access mi dice:
errore run time 13 tipo di dati non corrispondente.
la funzione qui sotto e' meglio che non la metta sull'evento open?
Private Sub Form_Open(Cancel As Integer)
Dim octrl As Control
For Each octrl In Me.Controls
If octrl.Tag = "DABLOCCARE" Then
octrl.Enabled = Not Me!chk_completa******
End If
Next
Set octrl = Nothing


title: ERRORE SU APERTURA MASCHERA

text:
"alex" <aiaiai...@aiaiaiaiaai.jak> ha scritto nel messaggio
news:47175e40$0$37203$4faf...@reader3.news.tin.it...

Dipende da quello che devi fare, ma consiglierei nell'evento "su
corrente"...
Ciao.
--
Sergio MAZZA


title: ERRORE SU APERTURA MASCHERA

author: Access

text:

Lasciala cosi modifica solo questo:
octrl.Enabled = Not nz(Me!chk_completa,0)
--
Ciao
Access


title: ERRORE SU APERTURA MASCHERA

text:
Dipende da quello che devi fare, ma consiglierei nell'evento "su
> corrente"...
>
Beh volevo che appena aperta la mashera fattura, se il chek era completo le
txtbox relative ai campi della fattura fossero enabled= false.
Ora non so se basta metterlo su corrente e mi risolvo il problema gli do
un'occhiata.


title: ERRORE SU APERTURA MASCHERA

text:
>
> Lasciala cosi modifica solo questo:
>
>
> octrl.Enabled = Not nz(Me!chk_completa,0)
>
>
grazie mille :)
praticamente anche se non ha valore mettengoli nz davanti ......
giusto?


title: ERRORE SU APERTURA MASCHERA

text:

Yes.
--
Ciao
Access


title: ERRORE SU APERTURA MASCHERA

text:

Se il check lo devi fare per ogni record della fattura, conviene l'evento
"su corrente".
E l'evento "su corrente" si scatena anche all'apertura della form, ma solo
quando il recordset è stato caricato; quindi sei sicuro che hai la
disponibilità dei dati per verificarli.
Nell'help alla voce: Evento Corrente ti viene spiegato...
Ciao.
--
Sergio MAZZA


title: ERRORE SU APERTURA MASCHERA

text:
> E l'evento "su corrente" si scatena anche all'apertura della form, ma solo
> quando il recordset è stato caricato; quindi sei sicuro che hai la
> disponibilità dei dati per verificarli.
> Nell'help alla voce: Evento Corrente ti viene spiegato...
>
Grazie mille sergio, il problema e' che l'errore me lo da quando io azzero
completamente la tabella fatture (simulando un passaggio d'anno) e quindi
non ci sono piu' record presenti.
Con nz davanti al not chk_completa(0) che mi ha detto access ho risolto il
problema
Ciao sergio e ancora grazie.


title: proteggere il proprio lavoro

author: Davide Scilabra

text:
Sviluppo "cose" in access da più di un anno ormai anche grazie al vs.
prezioso aiuto e a sitocomune che consiglio vivamente ai principianti
per iniziare, insieme ad una gran pazienza..
Ho necessità di proteggere i miei file mdb di modo che
- un utente inesperto possa andare a cancellare (è solo un esempio) una
tabella, una maschera o una query, in pratica nascondere dalla vista
l'elenco di queste (ora utilizzo maschere che non è possibile chiudere
:) ma riconosco che è un metodo facilmente arginabile)
- nella eventuale vendita a terzi di un programmino, vorrei proteggere
il mio db con una password (es. archifoto di @Alex nonostante vari
tentativi non sono riuscito ad arrivare al codice.. ps. come si fa?
sempre che sia possibile :) ) ed avevo questa idea (non tutti sono
hacker): io vado dalla ditta ed installo personalmente il programma che
funziona solamente abilitando il codice di quella macchina (scritto nel
registro di windows) così se lo copiano su un altro pc non funziona; è
concettualmente corretto?
Sul secondo punto apro una parentesi, visti alcuni post precedenti:
sarebbe corretto separare i dati dal progr vero e proprio .. vero?
Mi scuso se la domanda non è specifica e chiedo gentilmente dritte per
potermi documentare al meglio su questi temi che ho esposto.
Davide Scilabra


title: proteggere il proprio lavoro

text:
Davide Scilabra wrote:
> Sviluppo "cose" in access da più di un anno ormai anche grazie al vs.
> prezioso aiuto e a sitocomune che consiglio vivamente ai principianti
> per iniziare, insieme ad una gran pazienza..
> Ho necessità di proteggere i miei file mdb di modo che
> - un utente inesperto possa andare a cancellare (è solo un esempio)
> una tabella, una maschera o una query, in pratica nascondere dalla
> vista l'elenco di queste (ora utilizzo maschere che non è possibile
> chiudere :) ma riconosco che è un metodo facilmente arginabile)
Ciao
Devi gestire la protezione utente. Sul sito comune c'è un articolo
> - nella eventuale vendita a terzi di un programmino, vorrei proteggere
> il mio db con una password (es. archifoto di @Alex nonostante vari
> tentativi non sono riuscito ad arrivare al codice.. ps. come si fa?
> sempre che sia possibile :) ) ed avevo questa idea (non tutti sono
> hacker): io vado dalla ditta ed installo personalmente il programma
> che funziona solamente abilitando il codice di quella macchina
> (scritto nel registro di windows) così se lo copiano su un altro pc
> non funziona; è concettualmente corretto?
Se vai nel menu c'è la ossibilità di digitare la psw "sitocomune"
rilanci il programma con il maiuscolo premuto ed è _volutamente_ sprotetto.
Non è una cosa da hacker, ne da cracker o altro aperitivo...
>
> Sul secondo punto apro una parentesi, visti alcuni post precedenti:
> sarebbe corretto separare i dati dal progr vero e proprio .. vero?
icuramente, ne gudagni in elasticità negli aggioramenti (puoi modificare una
maschera come vuoi e poi
sovrascriverla al vecchio file FE senza temere per i dati) ed assolutamente
necessario in caso di
multiutenza
>
> Mi scuso se la domanda non è specifica e chiedo gentilmente dritte per
> potermi documentare al meglio su questi temi che ho esposto.
> Davide Scilabra
--
_ _
Ciao
MAssimiliano Amendola
www.accessgroup.it
Cisa - Conferenza Italiana per Sviluppatori Access
Info:
www.donkarl.com/it


title: proteggere il proprio lavoro

author: Alessandro Baraldi

text:
"Davide Scilabra" <
dav...@libriscientifici.com
> wrote in message
news:43c246c0$0$347$
5fc...@news.tiscali.it

Ciao Davide.
Il mio lavoro di Archifoto non è protetto, tant'è che le modalità
di accedere al codice sono pubblicate nel NG da tempo.
Ho cercato di renderlo sicuro in quanto l'ho sviluppato per
appassionati di Digitale che non hanno anche la passione per Access.
Di fatto ho messo in piedi un sistema abbastanza banale di sicurezza,
ma ti assicuro nulla di Potente.
Come ti ha detto MA, tra le voci del menù c'è quella per la
protezione(Password) che ti da la possibilità di "SPROTEGGERLO"
la PWD="sitocomune"
Se ritieni sia utile usare quella tecnica nei tuoi progetti
fallo pure, e estremamente semplice implementarla.
Ciao
@Alex
--
Posted via Mailgate.ORG Server -
http://www.Mailgate.ORG


title: Tabella Sql collegata

author: PIPPO

text:
Ho  una tabella sql 6.5 collegata a Access2000 sulla quale voglio fare una
query di aggiornamento. Cosa già fatta n volte su altre tabelle, ma questa è
rognosa.
La query non funziona proprio, anche se ho più volte verificato che i
parametri sono corretti.
Inoltre la tabella bastardissima in visualizzazione si apre mostrando tutti
i record con tutti i campi con il valore #ELIMINATO#. E' sufficiente premere
filtro in base a maschera, non impostare alcun filtro e premere applica
filtro che vengono correttamente visualizzati tutti i dati.
Credo che sia per questo motivo che la query non funziona, in quanto se in
apertura trova tutti i record come #ELIMINATO#, allora nessuno soddisfa i
parametri di query.
Qualche idea per risolvere la cosa?
Grazie
--


title: Tabella Sql collegata

author: Giorgio Prx

text:
"PIPPO" <A...@A.it> ha scritto nel messaggio
news:PWXgb.186171$hE5.6...@news1.tin.it...

Ciao PIPPO
In genere questo accade quando si modifica la tabella su SqlServer. Nelle
tabelle collegate (di SqlServer) vengono memorizzati i metadati delle
colonne ed in caso di modifica è necessario eliminare e ricreare i
collegamenti.
Ciao Giorgio


title: [OT] Bellissimo "sonetto" letto su altro NG - Ve lo riporto!!!

author: . chiarello @gmail.com strano...mavero

text:
      All'ombra dell'ultimo sole
      si addormentň un programmatore
      tra le sue braccia un manuale
      sognando il mare tropicale
      Venne alla ditta un committente
      con un progetto inconsistente
      delle richieste da far paura
      "prima di ieri perché ho premura"
      E domandň un lavoro immane
      con le specifiche piů strane
      "io voglio tutto e pago niente
      ho fretta sono un committente"
      Gli occhi dischiuse il softwarista
      un video l'unica sua vista
      dall'alba grigia fino a sera
      incatenato alla tastiera
      Battendo i tasti a mo' di ossesso
      e trascurando cibo e sesso
      riuscě un bel giorno a consegnare
      una release preliminare
      E si sentiva ormai contento
      ma fu sollievo di un momento
      giŕ richiamava quel cliente
      "qui non funziona un accidente"
      Ricominciň il programmatore
      a faticar per ore ed ore
      sopra un problema assai intricato
      nascosto dentro ad un listato
      Venne di nuovo il committente
      disse "cosě č meglio che niente
      č tuttavia per me importante
      fare una piccola variante"
      Ma all'ombra dell'ultimo sole
      dormiva giŕ il programmatore
      tra le sue braccia un manuale
      sognando il mare tropicale
      Erix
--
strano...mavero
L'universo č cambiamento; la nostra vita č il risultato dei nostri pensieri.
Marco Aurelio


text:
strano...mavero ha scritto:
> All'ombra dell'ultimo sole
>       si addormentò un programmatore
>       tra le sue braccia un manuale
>       sognando il mare tropicale
>       Venne alla ditta un committente
>       con un progetto inconsistente
>       delle richieste da far paura
>       "prima di ieri perché ho premura"
>       E domandò un lavoro immane
>       con le specifiche più strane
>       "io voglio tutto e pago niente
>       ho fretta sono un committente"
>       Gli occhi dischiuse il softwarista
>       un video l'unica sua vista
>       dall'alba grigia fino a sera
>       incatenato alla tastiera
>       Battendo i tasti a mo' di ossesso
>       e trascurando cibo e sesso
>       riuscì un bel giorno a consegnare
>       una release preliminare
>       E si sentiva ormai contento
>       ma fu sollievo di un momento
>       già richiamava quel cliente
>       "qui non funziona un accidente"
>       Ricominciò il programmatore
>       a faticar per ore ed ore
>       sopra un problema assai intricato
>       nascosto dentro ad un listato
>       Venne di nuovo il committente
>       disse "così è meglio che niente
>       è tuttavia per me importante
>       fare una piccola variante"
>       Ma all'ombra dell'ultimo sole
>       dormiva già il programmatore
>       tra le sue braccia un manuale
>       sognando il mare tropicale
>       Erix
:-D ...ci piace.
--
Pablitomf (Maurizio Facciuti)
“Quando non ti eserciti ricorda che qualcuno in qualche posto si sta
allenando e, quando lo incontrerai, ti batterà”.
Ed Macauley
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news
 segnala gli abusi ad
ab...@newsland.it


author: ciroteo

text:
"Pablitomf" <
maurizio...@accessgroup.it
> ha scritto nel messaggio
news:cmg69m$45f$1...@news.newsland.it...

pablito ... non va bene ... è troppo tempo che sei latitante, non puoi
apparire solo quando il livello si innalza all'alta poesia ...


author: Pablitomf

text:
ciroteo ha scritto:
> pablito ... non va bene ... è troppo tempo che sei latitante, non puoi
> apparire solo quando il livello si innalza all'alta poesia ...
Non temere, io guardo dalle retrovie... ma il lavoro ultimamente mi sta
"mangiando"... :-D
Appena sarò sgravato dal progetto che mi sta portando via tempo, tempo e
tempo, sarò nuovamente nel gruppo...
Ma poi, la poesia meritava :D



author: Antonio Biso

text:
"Pablitomf" <
maurizio...@accessgroup.it
> ha scritto nel messaggio
news:cmg69m$45f$1...@news.newsland.it...
> strano...mavero ha scritto:
>
> >       Erix
>
> :-D ...ci piace.
Non si può dire altrettanto del tuo quoting...
Antonio


text:
"Antonio Biso" <ch...@NOSPAMetruria.net> ha scritto nel messaggio
news:igbkd.25251$Ni.9...@twister1.libero.it...
> "Pablitomf" <
maurizio...@accessgroup.it
> ha scritto nel messaggio
> news:cmg69m$45f$1...@news.newsland.it...
> > strano...mavero ha scritto:
> >
> > >       Erix
> >
> > :-D ...ci piace.
>
> Non si puņ dire altrettanto del tuo quoting...
>
> Antonio
>
Ciao uagliņ!!
MAssimiliano


text:
Antonio Biso ha scritto:
> "Pablitomf" <
maurizio...@accessgroup.it
> ha scritto nel messaggio
> news:cmg69m$45f$1...@news.newsland.it...
> > strano...mavero ha scritto:
> >
> > >       Erix
> >
> > :-D ...ci piace.
> Non si puņ dire altrettanto del tuo quoting...
> Antonio
Uffąąąąąąą!!!!! Antņ fa caldo!!!!! :-D, anzi mo fa freddo! E tu che ci fai
da queste parti... sono venuto a cercarti su it.hobby.umorismo, ma nemmeno
lą ti ho trovato... ormai sei irreperibile... spero tu stia bene.
--
Pablitomf (Maurizio Facciuti)
“Quando non ti eserciti ricorda che qualcuno in qualche posto si sta
allenando e, quando lo incontrerai, ti batterą”.



title: Visualizza Utente

author: Michele

text:
Ciao Raga
Diversi Utenti usano un DB come faccio ha sapere chi lo sta utilizzando?
Buone Feste


title: Visualizza Utente

text:
Michele ha scritto:
> Ciao Raga
> Diversi Utenti usano un DB come faccio ha sapere chi lo sta utilizzando?
> Buone Feste
O in maniera RURALE visualizzi con Blocco note il file Tuo_DB.ldb, o crei
la gestione login e logout nel db stesso
--
Ciao
Pablitomf (Maurizio Facciuti)
------------------------------
http://www.sitocomune.com/
http://www.accessgroup.it/
------------------------------
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news
 segnala gli abusi ad
ab...@newsland.it


title: Visualizza Utente

author: Bruno Campanini

text:
"Pablitomf" <
maurizio...@accessgroup.it
> wrote in message
news:cp9na5$427$1...@news.newsland.it...
> Michele ha scritto:
>
> > Ciao Raga
>
> > Diversi Utenti usano un DB come faccio ha sapere chi lo sta utilizzando?
>
>
> > Buone Feste
>
> O in maniera RURALE visualizzi con Blocco note il file Tuo_DB.ldb
Nell'era INDUSTRIALE (Access2003) non è più possibile.
Ciao
Bruno


title: Nostalgia OT

author: Riccardo Baldinotti

text:
Qualcun altro ha nostalgia di "posta dopo il quoting" Biso?
Riccardo Baldinotti

--

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


title: Nostalgia OT

author: Alessandro Cara

text:
Il 28/05/2012 11.42, Riccardo Baldinotti ha scritto:
> Qualcun altro ha nostalgia di "posta dopo il quoting" Biso?
Potresti sempre "appropriarti" di questa "feature".

--

ac (x=y-1)


title: Nostalgia OT

text:
Alessandro Cara ha scritto:

> Il 28/05/2012 11.42, Riccardo Baldinotti ha scritto:
> > Qualcun altro ha nostalgia di "posta dopo il quoting" Biso?
> Potresti sempre "appropriarti" di questa "feature".

Non è nostalgia per la fattura... frattura... frittura... ma per il
portatore.
E poi, chi sono io per fare il maestrino e bacchettare? :-)



title: eseguire macro in base calendario.....

author: Enrico Virginio

text:
E' possibile e se si come, poter far eseguire una macro nei giorni in cui
voglio io ???
--
Posted from
ppp-143-46.25-151.libero.it
 [151.25.46.143]
via Mailgate.ORG Server -
http://www.Mailgate.ORG


title: eseguire macro in base calendario.....

author: Silvio Berruti

text:
"Enrico Virginio" <
nor...@libero.it
> ha scritto nel messaggio
news:3218ab725182cf1259...@mygate.mailgate.org...
> E' possibile e se si come, poter far eseguire una macro nei giorni in cui
> voglio io ???
Con una macro non so (o meglio non lo so +), ma potresti far controllare se
oggi (Date) è il giorno giusto e se è così farle fare quanto desideri.
Forse è + facile farlo in VBA.
--
Silvio
il sito comune di it.comp.appl.access:
http://www.sitocomune.com


title: Arrotondamento ?uro

author: Gianni C

text:
Sapete dirmi con quale metodo posso arrotondare ai 50 centesimi di euro
superiori in un campo calcolato in formato "Fisso" che mi converte dei
prezzi da lire a euro prelevati da un altro campo non calcolato all'interno
di una query ????????   Grazie mille


title: Arrotondamento ?uro

author: Roberto da casa

text:
"Gianni C" <
gianni...@virgilio.it
> ha scritto nel messaggio
news:XzV48.29712$Rv3.1...@news2.tin.it...

Se i dati sono contenuti in una tabella chiamata Tabella2.
Se il campo che contiene l'importo in lire si chiama ImportoLire.
Prova con una query che ha il seguente codice SQL:
SELECT Tabella2.*,
IIf(([ImportoLire]/1936.27-Int([ImportoLire]/1936.27))=0,[ImportoLire]/1936.
27,IIf(([ImportoLire]/1936.27-Int([ImportoLire]/1936.27))<0.5,Int([ImportoLi
re]/1936.27)+0.5,Int([ImportoLire]/1936.27)+1)) AS ImportoEuro
FROM Tabella2;
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


title: Prorpietà campo!  Valore predefinito (Urgente)

author: Fabrizio

text:
Salve ragazzi ho veramente bisogno di voi!
cerco di spiegarvii il meglio che posso il mio problema, per  riuscire nella
soluzione.
Ho due  tabelle
Magazzino                                                Ordini
OrdineCodice (chiave)                              OrdineCodice
DataPartenza                                             ..........
N°Fattura                                                  CodReg (codice
che assegno ad ogni ordine in base alla regione -es piemonte 31)
DataFattura                                               Zona  ( raggurppa
il cod_reg sotto un'unica zona es piemonte e friuli zona 1 ecc.)
N°Colli
VolumeM3
PesoLordo
Spese  (valore predefinito 2,00 euro)
Fisso   (valore predefinito 7,00 euro)
Trasporto ................(problema campo predefinito)
qui sorge il problema, poichè questo campo mi serve per poter procedere con
la fatturazione mi servirebbe che fosse predefinito in una forma del genere:
Se VolumeM3 < 0,5 allora  leggi campo [Zona] e se il campo [Zona]= 1 allora
assegna al campo [Trasporto] il valore 30,00 euro
Se VolumeM3 >1,5 alloa leggi campo [Zona] e se il campo [Zona]= 1 allora
assegna al campo [Trasporto] il valore 60.00euro
Se VolumeM3 Compreso tra 1 e 5 allora  leggi campo [Zona] e se il campo
[Zona]= 1 allora assegna al campo [Trasporto] il valore 80 euro
Se VolumeM3 < 0,5 allora  leggi campo [Zona] e  se il campo [Zona]= 2
assegna al campo [Trasporto] il valore 40,00 euro
Se VolumeM3 >1,5 allora leggi campo [Zona]  e se il campo [Zona]= 2 allora
assegna al campo [Trasporto] il valore 50.00euro
Se VolumeM3 Compreso tra 1 e 5  leggi campo [Zona]   se il campo [Zona]= 2
allora assegna al campo [Trasporto] il valore 60 euro
Se VolumeM3 < 0,5  leggi campo [Zona]  se il campo [Zona]= 3allora assegna
al campo [Trasporto] il valore 30,00 euro
Se VolumeM3 >1,5  leggi campo [Zona]  se il campo [Zona]= 3 allora assegna
al campo [Trasporto] il valore 60.00euro
Se VolumeM3 Compreso tra 1 e 5  leggi campo [Zona]  se il campo [Zona]=
3allora assegna al campo [Trasporto] il valore 80 euro
lo so è un casino ma non esiste una funzione magari in vba che mi facesse
rendere questo campo predefinito per l'uso?
credo che sia l'unica soluzione.
MI aiutate vi scongiuro .


author: Cinzia

text:
"Fabrizio" <
f_j...@virgilio.it
> ha scritto nel messaggio
news:GnaKd.461765$b5.21...@news3.tin.it...

Ciao Fabrizio,
puoi ottenre quanto descrivi, mettendo nell'evento Prima di Aggiornare della
maschera di inserimento una funzione che realizzi quanto hai descritto a
parole  ti consiglio di raggruppare tutti i se VolumeM3   e di tistinguere
all'interno dell'if i casi [Zona]
Ti faccio un esempio su VolumeM3 < 0,5
if VolumeM3 < 05 then
    Select case me.Zona
        case 1, 3
                  Me. Trasporto = 30
        case 2
                 Me.Trasporto = 40
        case else
                Me.trasporto = 0
   end select
elseif VolumeM3>1 AND volumeM3< 5 then
    .....
else ' VolumeM3 > 5
  .....
end if
Fai attenzione che come hai definito tu la regola c'è una incongruenza in
quanto se un pacco pesa ad esempio 2 KG soddisfa sia il caso >1,5   sia il
caso >1 e < 5
Attenzione però che con una soluzione di questo tipo quando cambieranno i
costi del trasporto sarai costretto a modificare il codice e  ciò non sempre
è bello.
Probabilmente potresti ricavare le stesse informazioni usando una tabella di
appoggio  in cui definisci i costi del trasporto
Es:
PESODA    PESOA    Zona    Costo
0                    0,5            1            30
0                    0,5            2            40
0                    0,5            3            30
1                    5                1            80
e la usi per ricavarti il costo da inserire in fattura.
Facci sapere...
Cinzia


text:
"Cinzia" <
cinziapagani_...@tiscali.it
> ha scritto nel messaggio
news:41f94624$0$135$5fc...@news.tiscali.it...

Ciao Cinzia,
Grazie della risposta, sei stata gentilissima....
Poichè non sono un grande esperto di codice vba,
mi sembra di aver capito che, quando do un comando in codice vba devo prima
dichiarare delle variabili.
nel mio caso cosa devo mettere tipo
Private sub FormFatturaBeforeUpdate(cancel As Integer)
Dim Volume As String
Dim Trasporto As String
ecc
sono  questi i passi che non mi permettono di avere la soluzione al mio
problema. In quanto avevo gia scritto il codice che tu mi passi ma si vede
che mi manca qualche dichiarazione.
Per quando riguarda i costi si riallacciano al Volume espresso in metri cubi
e non al peso. Quindi 0,5 è metricubi.
<Fai attenzione che come hai definito tu la regola c'è una incongruenza in
> quanto se un pacco pesa ad esempio 2 KG soddisfa sia il caso >1,5   sia il
> caso >1 e < 5
Ahhhhhh, si,  scusa.......hai ragione ma ho buttato li i valori senza
accorgemene.
Gentilmente potresti dirmi il codice per dichiarare il tutto...
la mia maschera si chiama "FatturaFb"
con i seguenti campi
OrdineCodice
Colli
Peso
Volume
Mcb(metricubi)
SpeseDogana predefinito 2,00 euro
Spesefisse      predefinito 4,00 euro
Trasporto
Tutti campi testo.
Speriamo che mi arrivi il libro cosi mi studio un pò di vba che figata!!!!!


text:

Ciao Fabrizio,
Ho supposto che nella maschera ci sia anche un campo Zona....
Private Sub Form_BeforeUpdate(Cancel As Integer)
 if  me.Mcb< 05 then
     Select case me.Zona
        case 1, 3
                   Me. Trasporto = 30
        case 2
                 Me.Trasporto = 40
       case else
                 Me.trasporto = 0
    end select
 elseif me.Mcb>1 AND me.Mcb< 5 then
    Select case me.Zona
        case 1, 3
                   Me. Trasporto = 60
        case 2
                 Me.Trasporto = 80
       case else
                 Me.trasporto = 0
    end select
else ' me.Mcb> 5
Select case me.Zona
        case 1, 3
                   Me. Trasporto = 80
        case 2
                 Me.Trasporto = 90
       case else
                 Me.trasporto = 0
    end select
 end if
End Sub
ovviamente dovrai adattare i valori..
comunque, studia il VBA ...  c'è di che divertirsi....
Ciao
Cinzia


title: Visualizzazione BMP in report

author: Rex

text:
Ciao a tutti.
Ho inserito una BMP in tabella con "Inserisci oggetto", "Crea file".
Quando però la richiamo dal report la visualizzo piccola e non ho trovato
nessuno modo di dargli la giusta dimensione, sebbene l'oggetto OLE lo
abbia dimensionato di dimensioni superiori.
Sarei garto per un vostro aiuto.
Grazie,
Rex
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news
 segnala gli abusi ad
ab...@newsland.it


title: Visualizzazione BMP in report

author: MA

text:
Rex  wrote:
> Ciao a tutti.
>
> Ho inserito una BMP in tabella con "Inserisci oggetto", "Crea file".
> Quando però la richiamo dal report la visualizzo piccola e non ho
> trovato nessuno modo di dargli la giusta dimensione, sebbene
> l'oggetto OLE lo abbia dimensionato di dimensioni superiori.
>
> Sarei garto per un vostro aiuto.
> Grazie,
> Rex
Buongiorno Commisario, benvenuto.
non conviene affidare la gestione delle immagini agli OLE
Guarda su
www.sitocomune.com
 ci sono 3-4 articoli in merito
--
--
Massimiliano Amendola
www.accessgroup.it
Cisa - Conferenza Italiana Sviluppatori Access


title: Visualizzazione BMP in report

author: Alessandro Baraldi

text:
Rex  ha scritto:
> Ciao a tutti.
>
> Ho inserito una BMP in tabella con "Inserisci oggetto", "Crea file".
> Quando però la richiamo dal report la visualizzo piccola e non ho trovato
> nessuno modo di dargli la giusta dimensione, sebbene l'oggetto OLE lo
> abbia dimensionato di dimensioni superiori.
>
> Sarei garto per un vostro aiuto.
> Grazie,
> Rex
Questo argomento è abbondantemente trattato nel NG quasi
settimanalmente, quindi puoi fare una ricerca per argomento e vedrai
che puoi avere tutte le considerazioni del caso.
Riassumendo la tecnica OLE non è adatta a gestire quanto chiedi.
Ti propongo questo Demo che può esserti di aiuto:
http://www.alessandrobaraldi.it/DettaglioFaq.asp?IdFAQ=117
@Alex


title: Visualizzazione BMP in report

text:
"MA" <
mas...@massimilianoamendola.it
> ha scritto nel messaggio
news:elr4lu$77h$1...@tdi.cu.mi.it...
> Rex  wrote:
> > Ciao a tutti.
> >
> > Ho inserito una BMP in tabella con "Inserisci oggetto", "Crea file".
> > Quando però la richiamo dal report la visualizzo piccola e non ho
> > trovato nessuno modo di dargli la giusta dimensione, sebbene
> > l'oggetto OLE lo abbia dimensionato di dimensioni superiori.
> >
> > Sarei garto per un vostro aiuto.
> > Grazie,
> > Rex
> Buongiorno Commisario, benvenuto.
ti sbagli è quello degli elettrodomestici ...
tu sei fortunato a non conoscere kati arredamenti di cinisello balsamo ...
:-)



title: Aggiornamento Tabelle non Collegate al BE-

author: MM

text:
Salve,
sono sempre io con il solito problema.
Ho ottenuto da Antonio Biso il seguente codice per il modulo da inserire nel
DB:
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'                   AggiornaCollegamentiTabelle                '
'                                                              '
' Questo modulo contiene funzioni che aggiornano i collegamenti'
'     alle tabelle di Northwind se non sono disponibili.       '
'                                                              '
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Option Explicit           ' Richiede la dichiarazione delle variabili da
utilizzare.
Option Compare Database   ' Utilizza il tipo di ordinamento del database per
confrontare le stringhe.
Declare Function LeggiApriNomeFile Lib "comdlg32.dll" Alias
"GetOpenFileNameA" (pApriNomeFile As APRINOMEFILE) As Boolean
Declare Function LeggiSalvaNomeFile Lib "comdlg32.dll" Alias
"GetSaveFileNameA" (pApriNomeFile As APRINOMEFILE) As Boolean
Type MSA_APRINOMEFILE
    ' Filtro utilizzato nella finestra Apri file.
    ' Utilizza MSA_CreaStringaFiltro() per crearlo.
    ' Predefinito = Tutti i file, *.*
    strFiltro As String
    ' Filtro iniziale da visualizzare.
    ' Predefinito = 1.
    lngIndiceFiltro As Long
    ' Cartella iniziale di apertura della finestra.
    ' Predefinito = Cartella di lavoro corrente.
    strCartellaIniziale As String
    ' Nome file iniziale per riempire la finestra.
    ' Predefinito = "".
    strFileIniziale As String
    strTitoloFinestra As String
    ' Estensione predefinita da aggiungere al file se non è stata già
specificata.
    ' Predefinito = Valori di sistema (Apri file, Salva file).
    strEstensionePredefinita As String
    ' Flag da utilizzare (vedere l'elenco delle costanti).
    ' Predefinito = no flag.
    lngFlag As Long
    ' Percorso completo del file selezionato. Durante l'apertura del file,
se è stato selezionato un file
    ' non esistente, restituisce solo il testo nella casella "Nome file".
    strPercorsoCompletoRestituito As String
    ' Percorso completo del file selezionato.
    strNomeFileRestituito As String
    ' Offset nel percorso completo (strPercorsoCompletoRestituito)
all'inizio del nome di file
    ' (strNomeFileRestituito).
    intOffsetFile As Integer
    ' Offset nel percorso completo (strPercorsoCompletoRestituito)
all'inizio dell'estensione del file.
    intEstensioneFile As Integer
End Type
Const OGNIFILE = "Tutti i file"
Type APRINOMEFILE
    lDimensioneStruttura As Long
    hwndProprietario As Long
    hIstanza As Long
    lpstrFiltro As String
    lpstrFiltroPersonalizzato As Long
    nMaxFiltroPersonalizzato As Long
    nIndiceFiltro As Long
    lpstrFile As String
    nMaxFile As Long
    lpstrTitoloFile As String
    nMaxTitoloFile As Long
    lpstrCartellaIniziale As String
    lpstrTitolo As String
    FLAG As Long
    nOffsetFile As Integer
    nEstensioneFile As Integer
    lpstrDefinizioneEstensione As String
    lDatiPersonalizzati As Long
    lpfnHook As Long
    lpNomeModello As Long
End Type
Const ANF_PERMETTESELEZIONEMULTIPLA = &H200
Const ANF_CREAPROMPT = &H2000
Const ANF_EXPLORER = &H80000
Const ANF_FILEDEVEESISTERE = &H1000
Const ANF_NASCONDESOLALETTURA = &H4
Const ANF_NONCAMBIACARTELLA = &H8
Const ANF_NESSUNRIFERIMENTOCOLLEGAMENTI = &H100000
Const ANF_NESSUNPULSANTEDIRETE = &H20000
Const ANF_NONRESTITUISCESOLALETTURA = &H8000
Const ANF_NESSUNACONVALIDA = &H100
Const ANF_SOVRASCRIVEPROMPT = &H2
Const ANF_PERCORSODEVEESISTERE = &H800
Const ANF_SOLALETTURA = &H1
Const ANF_MOSTRAGUIDA = &H10
'
****************************************************************************
' Visualizza la finestra di dialogo per l'apertura del database BackEnd dove
' sono contenute le tabelle utilizzate dal tool
' Restituisce il percorso completo del database collegato.
'
****************************************************************************
Function TrovaDatabase(strCercaPercorso, caso As Integer) As String
    Dim msaaf As MSA_APRINOMEFILE
    If caso = 1 Then 'caso tabelle importazione
        msaaf.strTitoloFinestra = "Collegamento tabelle importazione"
        msaaf.strCartellaIniziale = strCercaPercorso
        msaaf.strFileIniziale = "EsportaSIM.mdb"
        msaaf.strFiltro = MSA_CreaStringaFiltro("Database intermedio",
"EsportaSIM.mdb")
    ElseIf caso = 2 Then 'caso tabelle backend
        msaaf.strTitoloFinestra = "Collegamento tabelle BackEnd"
        msaaf.strCartellaIniziale = strCercaPercorso
        msaaf.strFileIniziale = "Back.mdb"
        msaaf.strFiltro = MSA_CreaStringaFiltro("Tabelle Backend",
"back.mdb")
    End If
    ' Chiama la routine associata alla finestra di dialogo per l'apertura
del file.
    MSA_LeggiApriNomeFile msaaf
    ' Restituisce il percorso e il nome di file.
    TrovaDatabase = Trim(msaaf.strPercorsoCompletoRestituito)
End Function
Function MSA_CreaStringaFiltro(ParamArray varFilt() As Variant) As String
' Crea la stringa filtro dagli argomenti forniti.
' Restituisce "" se non è stato fornito alcun argomento.
' Il numero atteso di argomenti deve essere pari (nome filtro, estensione);
' se dispari, aggiunge *.*
    Dim strFiltro As String
    Dim intRet As Integer
    Dim intNum As Integer
    intNum = UBound(varFilt)
    If (intNum <> -1) Then
        For intRet = 0 To intNum
            strFiltro = strFiltro & varFilt(intRet) & Chr$(0)
        Next
        If intNum Mod 2 = 0 Then
            strFiltro = strFiltro & "*.*" & Chr$(0)
        End If
        strFiltro = strFiltro & Chr$(0)
    Else
        strFiltro = ""
    End If
    MSA_CreaStringaFiltro = strFiltro
End Function
Function MSA_ConvertiStringaFiltro(strFiltroIn As String) As String
' Crea una stringa filtro da una stringa separata da una barra ("|").
' La stringa dovrebbe accoppiare le stringhe filtro|estensione, per esempio:
"Access Database|*.mdb|Tutti i file|*.*"
' Se l'ultima stringa non ha estensione, aggiunge *.*.
' Ignora le stringhe vuote, per esempio: doppia barra "||".
' Restituisce "" se la stringa fornita è vuota.
    Dim strFiltro As String
    Dim intNum As Integer, intPos As Integer, intUltimaPos As Integer
    strFiltro = ""
    intNum = 0
    intPos = 1
    intUltimaPos = 1
    ' Aggiunge stringhe fino a quando non trova una barra.
    ' Ignora tutte le stringhe vuote (non consentito).
    Do
        intPos = InStr(intUltimaPos, strFiltroIn, "|")
        If (intPos > intUltimaPos) Then
            strFiltro = strFiltro & Mid$(strFiltroIn, intUltimaPos, intPos -
intUltimaPos) & Chr$(0)
            intNum = intNum + 1
            intUltimaPos = intPos + 1
        ElseIf (intPos = intUltimaPos) Then
            intUltimaPos = intPos + 1
        End If
    Loop Until (intPos = 0)
    ' Legge l'ultima stringa esistente (ipotizzando che strFiltroIn non
abbia come ultimo termine la barra).
    intPos = Len(strFiltroIn)
    If (intPos >= intUltimaPos) Then
        strFiltro = strFiltro & Mid$(strFiltroIn, intUltimaPos, intPos -
intUltimaPos + 1) & Chr$(0)
        intNum = intNum + 1
    End If
    ' Aggiunge *.* se l'ultima stringa non ha estensione.
    If intNum Mod 2 = 1 Then
        strFiltro = strFiltro & "*.*" & Chr$(0)
    End If
    ' Aggiunge il terminatore NULL se è presente un filtro.
    If strFiltro <> "" Then
        strFiltro = strFiltro & Chr$(0)
    End If
    MSA_ConvertiStringaFiltro = strFiltro
End Function
Private Function MSA_LeggiSalvaNomeFile(msaaf As MSA_APRINOMEFILE) As
Integer
' Apre la finestra di dialogo per l'apertura del file.
    Dim af As APRINOMEFILE
    Dim intRet As Integer
    MSAAF_in_AF msaaf, af
    af.FLAG = af.FLAG Or ANF_NASCONDESOLALETTURA
    intRet = LeggiSalvaNomeFile(af)
    If intRet Then
        AF_in_MSAAF af, msaaf
    End If
    MSA_LeggiSalvaNomeFile = intRet
End Function
Function MSA_SempliceLeggiSalvaNomeFile() As String
' Apre la finestra di dialogo per il salvataggio del file con i valori
predefiniti.
    Dim msaaf As MSA_APRINOMEFILE
    Dim intRet As Integer
    Dim strRet As String
    intRet = MSA_LeggiSalvaNomeFile(msaaf)
    If intRet Then
        strRet = msaaf.strPercorsoCompletoRestituito
    End If
    MSA_SempliceLeggiSalvaNomeFile = strRet
End Function
Private Function MSA_LeggiApriNomeFile(msaaf As MSA_APRINOMEFILE) As Integer
' Apre la finestra di dialogo per l'apertura del file.
    Dim af As APRINOMEFILE
    Dim intRet As Integer
    MSAAF_in_AF msaaf, af
    intRet = LeggiApriNomeFile(af)
    If intRet Then
        AF_in_MSAAF af, msaaf
    End If
    MSA_LeggiApriNomeFile = intRet
End Function
Function MSA_SempliceLeggiApriNomeFile() As String
' Apre la finestra di dialogo per l'apertura del file con i valori
predefiniti.
    Dim msaaf As MSA_APRINOMEFILE
    Dim intRet As Integer
    Dim strRet As String
    intRet = MSA_LeggiApriNomeFile(msaaf)
    If intRet Then
        strRet = msaaf.strPercorsoCompletoRestituito
    End If
    MSA_SempliceLeggiApriNomeFile = strRet
End Function
Public Function ControllaCollegamenti() As Boolean
' Controlla i collegamenti al database Northwind; restituisce True se i
collegamenti funzionano.
    Dim dbs As Database, rst As Recordset
    Set dbs = CurrentDb()
    ' Apre una tabella collegata per controllare che le informazioni sulla
connessione siano corrette.
    On Error Resume Next
    Set rst = dbs.OpenRecordset("Clienti")
    ' Se non si riscontra alcun errore, restituisce True.
    If Err = 0 Then
        ControllaCollegamenti = True
    Else
        ControllaCollegamenti = False
    End If
End Function
Private Sub AF_in_MSAAF(af As APRINOMEFILE, msaaf As MSA_APRINOMEFILE)
' Sub che converte la struttura di win32 nella struttura di MSAccess.
    msaaf.strPercorsoCompletoRestituito = Left$(af.lpstrFile,
InStr(af.lpstrFile, vbNullChar) - 1)
    msaaf.strNomeFileRestituito = af.lpstrTitoloFile
    msaaf.intOffsetFile = af.nOffsetFile
    msaaf.intEstensioneFile = af.nEstensioneFile
End Sub
Private Sub MSAAF_in_AF(msaaf As MSA_APRINOMEFILE, af As APRINOMEFILE)
' Sub che converte la struttura di MSAccess nella struttura di win32.
    Dim strFile As String * 512
    ' Inizializza alcune parti della struttura.
    af.hwndProprietario = Application.hWndAccessApp
    af.hIstanza = 0
    af.lpstrFiltroPersonalizzato = 0
    af.nMaxFiltroPersonalizzato = 0
    af.lpfnHook = 0
    af.lpNomeModello = 0
    af.lDatiPersonalizzati = 0
    If msaaf.strFiltro = "" Then
        af.lpstrFiltro = MSA_CreaStringaFiltro(OGNIFILE)
    Else
        af.lpstrFiltro = msaaf.strFiltro
    End If
    af.nIndiceFiltro = msaaf.lngIndiceFiltro
    af.lpstrFile = msaaf.strFileIniziale & String$(512 -
Len(msaaf.strFileIniziale), 0)
    af.nMaxFile = 511
    af.lpstrTitoloFile = String$(512, 0)
    af.nMaxTitoloFile = 511
    af.lpstrTitolo = msaaf.strTitoloFinestra
    af.lpstrCartellaIniziale = msaaf.strCartellaIniziale
    af.lpstrDefinizioneEstensione = msaaf.strEstensionePredefinita
    af.FLAG = msaaf.lngFlag
    af.lDimensioneStruttura = Len(af)
End Sub
Public Function RiallegaTabelle(nome_tabella As String) As String
' Aggiorna i collegamenti al database a cui ci si collega.
' Le tabelle che dovranno essere riallegate sono elencate nella tabella
passata
' come parametro
' Restituisce True se funziona correttamente.
    Const conMaxTabelle = 8
    Dim strCercaPercorso As String
    Dim strNomeFile As String
    Dim intErrore As Integer
    Dim strErrore As String
    Dim mioset As Recordset
    Dim tdf As TableDef
    Dim msg As String
    Dim miodb As Database
    Dim caso As Integer
    ' directory da presentare nella finestra di dialogo
        strCercaPercorso = "C:\programmi\database riello"
    ' Cerca il database di cui si vogliono riallegare le tabelle.
    caso = IIf(right(nome_tabella, 5) = "zione", 1, 2)
    strNomeFile = TrovaDatabase(strCercaPercorso, caso)
    If strNomeFile = "" Then  ' L'utente ha premuto Annulla.
        MsgBox "Database non connesso", vbInformation, "OPERAZIONE
ANNULLATA!!!"
        RiallegaTabelle = "NOK"
        Exit Function
    End If
    ' Risolve i problemi di collegamento.
    On Error GoTo gest_err_riallega
    Set mioset = CurrentDb.OpenRecordset(nome_tabella)
    Set miodb = CurrentDb()
    mioset.MoveFirst
    Do Until mioset.EOF
        Set tdf = miodb.TableDefs(mioset.Fields(0).Value)
        tdf.Connect = ";DATABASE=" & strNomeFile
        tdf.RefreshLink         ' Riallega le tabelle.
        mioset.MoveNext
    Loop
    GoTo fine_riallega_ok
gest_err_riallega:
    ' Se non funziona, visualizza un messaggio di errore.
    Select Case Err
    Case 3011, 3078
        msg = "Rilevata anomalia nella connessione!@"
        msg = msg & "La tabella allegata " & tdf.Name & ", necessaria "
        msg = msg & "all'elaborazione, non è stata trovata nel database
remoto"
        msg = msg & vbCrLf & strNomeFile & vbCrLf
        msg = msg & "al quale ci si è connessi.@"
        msg = msg & "Contattare supporto informatico."
    Case Err = 3265
        msg = "Rilevata anomalia nella connessione!@"
        msg = msg & "La tabella allegata " & mioset.Fields(0).Value & ",
necessaria "
        msg = msg & "all'elaborazione, non è stata trovata nel presente
database.@"
        msg = msg & "Contattare supporto informatico."
    Case Err = 3049
        msg = "Rilevata anomalia nella connessione!@"
        msg = msg & "Il file scelto" & vbCrLf & strNomeFile & vbCrLf
        msg = msg & "è un database danneggiato o non è un database Access."
& vbCrLf
        msg = msg & "Controllare di aver selezionato il file giusto o
tentare di "
        msg = msg & "recuperarlo chiudendo il presente database e
selezionando il "
        msg = msg & "menu Strumenti-Utilità Database-Ripristina database.@"
        msg = msg & "In caso di ulteriore insuccesso contattare il supporto
informatico."
    Case Else
        msg = "Errore non prevedibile N°." & Err & "@"
        msg = msg & """" & Err.Description & """"
        msg = msg & vbCrLf & "@Contattare supporto informatico."
    End Select
    MsgBox msg, vbCritical, "ELABORAZIONE INTERROTTA!!!"
    RiallegaTabelle = "NOK"
    Exit Function
fine_riallega_ok:
    RiallegaTabelle = strNomeFile
End Function
**************
Ora la mia domanda è : come faccio ad usare questo codice nel mio db ?
Ho capito che all'apertura del DB dovrò fare il controllo se le tabelle sono
collegate, ma che cosa devo scrivere nella mia maschera principale (avvio) ?
Che codice devo scrivere per fare in modo che mi richiami la funzione di
controllo tabelle collegate ?
E poi se ho ben capito occorre creare una tabella con l'elenco delle tabelle
da collegare.
Come devo strutturare questa tabella e come faccio a passare il parametro al
comando che ripristina i collegamenti delle tabelle ?
Insomma io ho capito più o meno il funzionamento, ma non esattamente cosa
scrivere e dove per far si' che il controllo venga fatto tutte le volte che
apro il db e che il controllo restituisca "falso" per quanto riguarda le
tabelle collegate.
Per favore qualcuno mi aiuti. Non è difficile ma mi serve qualche dritta.
Please....
Grazie cmq in anticipo.


author: Carlo Costarella

text:
"MM" <
mar...@libero.it
> ha scritto nel messaggio
news:9Br19.17200$lu5.4...@twister1.libero.it...
> Salve,
>
> sono sempre io con il solito problema.
> Ho ottenuto da Antonio Biso il seguente codice per il modulo da inserire
nel
> DB:
>
>
> ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
> '                   AggiornaCollegamentiTabelle                '
cut
>
>
> Ora la mia domanda è : come faccio ad usare questo codice nel mio db ?
>
> Ho capito che all'apertura del DB dovrò fare il controllo se le tabelle
sono
> collegate, ma che cosa devo scrivere nella mia maschera principale (avvio)
?
> Che codice devo scrivere per fare in modo che mi richiami la funzione di
> controllo tabelle collegate ?
>
> E poi se ho ben capito occorre creare una tabella con l'elenco delle
tabelle
> da collegare.
> Come devo strutturare questa tabella e come faccio a passare il parametro
al
> comando che ripristina i collegamenti delle tabelle ?
>
> Insomma io ho capito più o meno il funzionamento, ma non esattamente cosa
> scrivere e dove per far si' che il controllo venga fatto tutte le volte
che
> apro il db e che il controllo restituisca "falso" per quanto riguarda le
> tabelle collegate.
>
> Per favore qualcuno mi aiuti. Non è difficile ma mi serve qualche dritta.
>
> Please....
>
>
> Grazie cmq in anticipo.
>
Il codice che hai riportato lo puoi trovare nel database di esempio
Soluzioni.mdb fornito con Access.
Molte delle stringhe presenti nel codice vanno opportunamente modificate
secondo le tue esigenze. Per esempio:
Const conMaxTabelle = 8 (metti il numero delle tabelle allegate)
strCercaPercorso = "C:\programmi\database riello" (imposta il tuo percorso
di inizio ricerca del db)
msaaf.strFileIniziale = "EsportaSIM.mdb" (il nome del BE da ricercare)
msaaf.strFiltro = MSA_CreaStringaFiltro("Database intermedio",
"EsportaSIM.mdb")
msaaf.strFileIniziale = "Back.mdb"
Set rst = dbs.OpenRecordset("Clienti") (il nome della prima tabella da
ricercare)
ecc.
Fatte le opportune modifiche sull'evento "Apertura" o "Caricamento" della
maschera iniziale puoi scrivere: ControllaCollegamenti
Questa istruzione farà partire l'omonima funzione. Se vuoi vedere il
funzionamento passo passo, metti un punto di interruzione sulla funzione e
segui, con F8, i vari passaggi del codice.
Dimenticavo: il codice non funziona in Access 2002
Ciao, Carlo


text:
"MM" <
mar...@libero.it
> ha scritto nel messaggio
news:9Br19.17200$lu5.4...@twister1.libero.it...
> Salve,
>
> sono sempre io con il solito problema.
> Ho ottenuto da Antonio Biso il seguente codice per il modulo da inserire
nel
> DB:
AAARGH!!!
Potevi evitare di ripostare tutto!!!!
>
> Ora la mia domanda è : come faccio ad usare questo codice nel mio db ?
>
> Ho capito che all'apertura del DB dovrò fare il controllo se le tabelle
sono
> collegate, ma che cosa devo scrivere nella mia maschera principale (avvio)
?
> Che codice devo scrivere per fare in modo che mi richiami la funzione di
> controllo tabelle collegate ?
Guarda che te l'avevo scritto nel precedente post!
>
> E poi se ho ben capito occorre creare una tabella con l'elenco delle
tabelle
> da collegare.
> Come devo strutturare questa tabella e come faccio a passare il parametro
al
> comando che ripristina i collegamenti delle tabelle ?
Ufff... è già tutto previsto e ti avevo già detto che la tabella ha un unico
campo.
E non importa il nome visto che viene usato mioset.Fields(0).Value
Antonio


text:
> AAARGH!!!
> Potevi evitare di ripostare tutto!!!!
> Ufff... è già tutto previsto e ti avevo già detto che la tabella ha un
unico
> campo.
> E non importa il nome visto che viene usato mioset.Fields(0).Value
>
> Antonio
>
>
Scusami Antonio,
ma in quale post me lo hai scritto ?
Sai non voglio rompere le p....e ma un suggerimento non capito non mi è
utile, oppure utile fino ad un certo punto.
Non ho trovato alcun post tuo dove spieghi come fare esattamente cio' che mi
occorre.
Oltretutto io uso Access 2002.
Comunque ti ringrazio dell'interesse ma ho bisogno di suggerimenti più
chiari in quanto mi è difficile capire come stilare il codice.
Grazie a tutti.
Ciao.


text:
"MM" <
mar...@libero.it
> ha scritto nel messaggio
news:RAs19.16665$n04.5...@twister2.libero.it...
> > AAARGH!!!
> > Potevi evitare di ripostare tutto!!!!
> > Ufff... è già tutto previsto e ti avevo già detto che la tabella ha un
> unico
> > campo.
> > E non importa il nome visto che viene usato mioset.Fields(0).Value
> >
> > Antonio
> >
> >
>
> Scusami Antonio,
>
> ma in quale post me lo hai scritto ?
> Sai non voglio rompere le p....e ma un suggerimento non capito non mi è
> utile, oppure utile fino ad un certo punto.
>
> Non ho trovato alcun post tuo dove spieghi come fare esattamente cio' che
mi
> occorre.
Nel post dove ti dicevo se volevi il codice per email
>
> Oltretutto io uso Access 2002.
Eeehh...
male...
mi sa che la parte dialogo non funziona allora...
Antonio


text:
> > Scusami Antonio,
> >
> > ma in quale post me lo hai scritto ?
> > Sai non voglio rompere le p....e ma un suggerimento non capito non mi è
> > utile, oppure utile fino ad un certo punto.
> Nel post dove ti dicevo se volevi il codice per email
>
> >
> > Oltretutto io uso Access 2002.
>
> Eeehh...
> male...
> mi sa che la parte dialogo non funziona allora...
>
> Antonio
>
>
La parte del dialogo funziona !!!
Mi chiede di scegliere il percorso del file ed io lo scelgo, ma eseguo fino
alla fine il codice che
alla fine mi darà un errore 13 e non mi ricollega le tabelle.
Ma secondo me cè qualcosa che non va bene in quel codice.
Per esempio : (la funzione trovadatabase --->> cosè questo database
intermedio ????) (io ho un file back.mdb e uno front.mdb)
(Le voci con ** sono quelle che non capisco)
Function TrovaDatabase(strCercaPercorso, caso As Integer) As String
    Dim msaaf As MSA_APRINOMEFILE
    If caso = 1 Then 'caso tabelle importazione
        msaaf.strTitoloFinestra = "Collegamento tabelle importazione"
        msaaf.strCartellaIniziale = strCercaPercorso
        msaaf.strFileIniziale = "EsportaSIM.mdb"       **
        msaaf.strFiltro = MSA_CreaStringaFiltro("Database intermedio",
"EsportaSIM.mdb")               **
    ElseIf caso = 2 Then 'caso tabelle backend
        msaaf.strTitoloFinestra = "Collegamento tabelle BackEnd"
        msaaf.strCartellaIniziale = strCercaPercorso
        msaaf.strFileIniziale = "SGM Backend.mdb"
        msaaf.strFiltro = MSA_CreaStringaFiltro("Tabelle Backend", "SGM
Backend.mdb")
    End If
----------------------------------------------------------------------------
------------------------------
Public Function RiallegaTabelle(nome_tabella As String) As String
' Aggiorna i collegamenti al database a cui ci si collega.
' Le tabelle che dovranno essere riallegate sono elencate nella tabella
passata
' come parametro
' Restituisce True se funziona correttamente.
    Const conMaxTabelle = 8               **   (devo inserire il numero
delle tabelle collegate  ?? e non devo conteggiare quelle locali del front
?)
    Dim strCercaPercorso As String
    Dim strNomeFile As String
    Dim intErrore As Integer
    Dim strErrore As String
    Dim mioset As Recordset
    Dim tdf As TableDef
    Dim msg As String
    Dim miodb As Database
    Dim caso As Integer
    ' directory da presentare nella finestra di dialogo
        strCercaPercorso = "C:\"
    ' Cerca il database di cui si vogliono riallegare le tabelle.
    caso = IIf(Right(nome_tabella, 5) = "zione", 1, 2)                    **
(cosa vuol dire   ....="zione",1,2)
    strNomeFile = TrovaDatabase(strCercaPercorso, caso)
    If strNomeFile = "" Then  ' L'utente ha premuto Annulla.
        MsgBox "Database non connesso", vbInformation, "OPERAZIONE
ANNULLATA!!!"
        RiallegaTabelle = "NOK"
        Exit Function
    End If
----------------------------------------------------------------------------
-
 ' Risolve i problemi di collegamento.
    On Error GoTo gest_err_riallega
    Set mioset = CurrentDb.OpenRecordset(nome_tabella)             **
(   ....(nome_tabella) ???)
    Set miodb = CurrentDb()
    mioset.MoveFirst
    Do Until mioset.EOF
        Set tdf = miodb.TableDefs(mioset.Fields(0).Value)
        tdf.Connect = ";DATABASE=" & strNomeFile
        tdf.RefreshLink         ' Riallega le tabelle.
        mioset.MoveNext
    Loop
    GoTo fine_riallega_ok
----------------------------------------------------------------------------
--------
    sarei grato se qualcuno mi aiutasse, o mi sugirisse un metodo
alternativo ,che non sia quello di immissione manuale del percorso.....
Oppure qualcuno mi spighi come eseguire il controllo e fare il ricolegamento
delle tabelle tramite immissione manuale del percorso.
Grazie e scusate se rompo, ma mi manca questo e un'altra cazzata per finire.
Ciao a tutti e grazieeeeeeeeeeeee.


text:
"MM" <
mar...@libero.it
> ha scritto nel messaggio
news:cov19.18210$lu5.5...@twister1.libero.it...
Mi chiede di scegliere il percorso del file ed io lo scelgo, ma eseguo fino
> alla fine il codice che
> alla fine mi darà un errore 13 e non mi ricollega le tabelle.
> Ma secondo me cè qualcosa che non va bene in quel codice.
Access 2002 usa ADO, la sintassi per gli oggetti è diversa
>
> Per esempio : (la funzione trovadatabase --->> cosè questo database
> intermedio ????) (io ho un file back.mdb e uno front.mdb)
> (Le voci con ** sono quelle che non capisco)
>
>
> Function TrovaDatabase(strCercaPercorso, caso As Integer) As String
>
>     Dim msaaf As MSA_APRINOMEFILE
>
>     If caso = 1 Then 'caso tabelle importazione
>         msaaf.strTitoloFinestra = "Collegamento tabelle importazione"
>         msaaf.strCartellaIniziale = strCercaPercorso
>         msaaf.strFileIniziale = "EsportaSIM.mdb"       **
>         msaaf.strFiltro = MSA_CreaStringaFiltro("Database intermedio",
> "EsportaSIM.mdb")               **
E' il nome del tuo Backend, con la sua descrizione da far comparire nella
finestra di dialogo
>     ElseIf caso = 2 Then 'caso tabelle backend
>         msaaf.strTitoloFinestra = "Collegamento tabelle BackEnd"
>         msaaf.strCartellaIniziale = strCercaPercorso
>         msaaf.strFileIniziale = "SGM Backend.mdb"
>         msaaf.strFiltro = MSA_CreaStringaFiltro("Tabelle Backend", "SGM
> Backend.mdb")
>     End If
Due casi perchè io avevo due backend
> Public Function RiallegaTabelle(nome_tabella As String) As String
> ' Aggiorna i collegamenti al database a cui ci si collega.
> ' Le tabelle che dovranno essere riallegate sono elencate nella tabella
> passata
> ' come parametro
> ' Restituisce True se funziona correttamente.
>
>     Const conMaxTabelle = 8               **   (devo inserire il numero
> delle tabelle collegate  ?? e non devo conteggiare quelle locali del front
Questa non devi toccarla
>     ' Cerca il database di cui si vogliono riallegare le tabelle.
>     caso = IIf(Right(nome_tabella, 5) = "zione", 1, 2)
**
> (cosa vuol dire   ....="zione",1,2)
Vuol dire che io avevo due tabelle con i nomi delle tabelle backens da
riallegare
Tabelle_da_allegare e tabelle_da_allegare_importazione
ergo, quel test mi diceva in quale backend andare a cercare
Te puoi farne a meno
>  ' Risolve i problemi di collegamento.
>     On Error GoTo gest_err_riallega
>     Set mioset = CurrentDb.OpenRecordset(nome_tabella)             **
> (   ....(nome_tabella) ???)
Nome_tabella è il parametro passato alla riallegatabelle nella chiamata da
maschera principale
(QUESTO C'ERA NELL'ESEMPIO CHE TI AVEVO PROPOSTO L'ALTRA VOLTA!!!"
Se ne hai una sola puoi renderla costante e scriverla direttamente qui
Antonio


title: Query con parametri: AIUTO!!!

author: Alecs

text:
Ciao a tutti. Vi prego aiutatemi. Quando si effettua una query con
parametri(es. appare la finestra che chiede di inserire un valore, tipo
[Inserire anno]), se si digita solo il tasto OK senza scrivere nulla nel campo
si esegue una query che restituisce 0 records, essendo il parametro sbagliato.
E' possibile ovviare a tutto ciň, ad es. visualizzando un messaggio che
comunica la mancata digitazione o il non corrispondente inserimento dei dati
(es. 3 numeri invece di 4)ed annullare l'apertura della maschera per consentire
un nuovo tentativo? Ciao e grazie a tutti per l'aiuto.
         Alecs
--
Posted from  [62.205.144.41]
via Mailgate.ORG Server -
http://www.Mailgate.ORG


title: Query con parametri: AIUTO!!!

author: Alex

text:
"Alecs" <
alecs...@tiscalinet.it
> wrote in message
news:9f5766f1a94ad6c08fb...@mygate.mailgate.org...
> Ciao a tutti. Vi prego aiutatemi. Quando si effettua una query con
> parametri(es. appare la finestra che chiede di inserire un valore, tipo
> [Inserire anno]), se si digita solo il tasto OK senza scrivere nulla nel campo
> si esegue una query che restituisce 0 records, essendo il parametro sbagliato.
> E' possibile ovviare a tutto ciò, ad es. visualizzando un messaggio che
> comunica la mancata digitazione o il non corrispondente inserimento dei dati
> (es. 3 numeri invece di 4)ed annullare l'apertura della maschera per consentire
> un nuovo tentativo? Ciao e grazie a tutti per l'aiuto.
>          Alecs
>
Si, però ti devi affidare ad una Form dedicata per l'immissione dei parametri.
Ovvero non puoi più inserire nei criteri [Inserire l'anno]....
Dovrai fare una Form in cui verifichi il contenuto del controllo Es.:"txtAnno"
e, se corretto passarlo al criterio QRY come Forms![NomeForm]![txtAnno].
Questo lo puoi fare per qualsiasi criterio.
Io molte volte utilizzo una Form di Filtro in cui inserisco tutti i Livelli o
criteri da passare alla Qry.
Ciao @Alex
--
Posted from  [62.98.15.111]



title: Query con parametri: AIUTO!!!

author: stefano pilato

text:
"Alecs" <
alecs...@tiscalinet.it
> ha scritto nel messaggio
news:9f5766f1a94ad6c08fb...@mygate.mailgate.org...
> Ciao a tutti. Vi prego aiutatemi. Quando si effettua una query con
> parametri(es. appare la finestra che chiede di inserire un valore, tipo
> [Inserire anno]), se si digita solo il tasto OK senza scrivere nulla nel
campo
> si esegue una query che restituisce 0 records, essendo il parametro
sbagliato.
> E' possibile ovviare a tutto ciò, ad es. visualizzando un messaggio che
> comunica la mancata digitazione o il non corrispondente inserimento dei
dati
> (es. 3 numeri invece di 4)ed annullare l'apertura della maschera per
consentire
> un nuovo tentativo? Ciao e grazie a tutti per l'aiuto.
>          Alecs
>
>
> --
> Posted from  [62.205.144.41]
> via Mailgate.ORG Server -
http://www.Mailgate.ORG
Via codice VBA e con DAO potresti fare cosi:
dim db as dao.database, rst as dao.recordset,def as string
dim qdef as dao.querydef, par as dao.paramenter
''enunciato sql preceduto da dichirazione del parametro o dei parametri
def ="parameters par string;select _____(la tua query)_____where ______=
[par];"
set db=currentdb
set qdef=db.createqueryde("",def)
            '''fare riferimento al parametro (ad esempio un valore di un
controllo testo in una form)
            qdef.parameters("par") =forms![ordini].[txt1]
'aprire il recordset dalla query parametrata
set rst=qdef.openrecordset
            ''quindi trattare il recordset a piacimento
            ''fare riferimento alla guida in linea di access
Spero di essere stato chiaro
Stefano


title: Come gestire i numeri d pagina su più reports

author: Luca

text:
Ciao a tutti,
ho la necessità di stampare una serie di reports e devo gestire il numero di
pagine nel senso che nel primo report devo avere pagina 1 di
SommaPagineTuttiReports nel secondo report devo avere pagina
SommaPaginePrimoReports + 1 di SommaPagineTuttiReports.
C'è un modo per calcolare i numeri di pagina senza aprire i reports ??
Grazie
Ciao


title: [OT] scaricare nesw da newsgroup

author: Nao

text:
Ciao ng, scusate la domanda, forse sarŕ un'idiozia, ma č possibile (tramite
utilizzo di outlook express per lettura ng), scaricare tutti o 300 o 400 etc
messaggi, con risposte, in modo da poterli leggere offline?
grazie Nadir


title: [OT] scaricare nesw da newsgroup

author: Sib

text:
"Nao" <naon...@NOSPAMinwind.it> ha scritto nel messaggio

Pulsante destro
Opzioni di sincronizzazione
Tutti i messaggi
Sib


title: visualizzazione valori in report

author: NIK

text:
ciao a tutti .....
utilizzo access 2000 in un laboratorio per emettere certificati
analitici; in una tabella, contenente i parametri, inserisco tramite
maschera i valori ricercati che stampo mediante un report. Vorrei
sapere come posso fare a visualizzare nel report una frase se il
valore immesso è = 0.
Per valori differenti ho impostato la maschera di input [ &&&&& "mg/
l";; ]   e temporaneamnete inserisco come testo direttamente i valori
che devono essere visualizzati come tali.
il problema è che in un campo dove vorrei avere solo numeri sono
costretto a inserire del testo e di conseguenza variare il formato del
campo. questo mi impedisce di trattare i dati come numeri e quindi non
poter fare grafici ecc...
grazie in anticipo, spero di essermi spiegato bene..........
ciao


title: visualizzazione valori in report

text:
"NIK" <
nik...@gmail.com
> ha scritto nel messaggio
news:1171286399.5...@a75g2000cwd.googlegroups.com...


ciao
Una soluzione elegante potrebbe essere quella di mettere un controllo
nascosto esattamente sopra quello visibile.
Codice da mettere per esempio su formattazione del corpo:
If me.controlloVisibile = 0 then
me.ControlloNascosto.visible = true
Me.ControlloNascosto = "La frase che vuoi"
Me.ControlloVisibile.Visible = false
else
Me.controlloVisibile.Visible = true
me.ControlloNascosto.visible = false
end if


title: visualizzazione valori in report

text:
mi dispiace ma non essendo molto pratico non riesco ad adottare una
soluzione così fine..... grazie cmq , ci proverò
se qlc avesse altre idee un pò più semplici da realizzare ne sarei
molto grato
grazie
saluti


title: visualizzazione valori in report

text:
"NIK" <
nik...@gmail.com
> ha scritto nel messaggio
news:1171378907.8...@s48g2000cws.googlegroups.com...
mi dispiace ma non essendo molto pratico non riesco ad adottare una
soluzione cosě fine..... grazie cmq , ci proverň
se qlc avesse altre idee un pň piů semplici da realizzare ne sarei
molto grato
grazie
saluti
----------------------------
Piů semplice di cosě!
Devi fare solo copia e incolla cambiando opportunamente il nome dei
controlli affinchč riflettino i tuoi nomi.
Ciao, Carlo


title: Problemi di Stampa Condizionale...di Scadenza...

author: SuperPippo

text:
beh... forse il titolo del messaggio è poco appropriato... come del resto
spero riesca a spiegare il mio problema...
... in una maschera ho inserito un controllo con una casella di testo non
associata nella quale digito la data ..esempio 10/2000 e premendo un
pulsante di comando si attiva una query che
attiva Word , avendo fatto una Stampa Unione con la qry in oggetto e mi
presenta tutte le lettere da stampare..con Esente, Codice_Esenzione,
Prossimo_Rinnovo, Indirizzo etc..etc                    il problema è questo
:
Esempio ...ad Ottobre/2000 ho 100 pazienti scadenti esenzione ticket  da
stampare però ognuno di questi può avere 1 esenzione, come (se è sfigato) ne
può avere anche 5, quindi di un paziente mi stampa 5 fogli anche se con
Codice_Esenzione diverso....fin qui Ok... mi stà bene anche così...!!!
Ora mi chiedo (si risparmiano anche fogli) è possibile stampare di un
paziente solo un foglio con le sue esenzioni e le sue scadenze...ho provato
e riprovato il codice sotto riportato..ma non mi ha portato a nessuna
soluzione del caso....
{Nextif {If {Mergefield Codice_Esenzione }<>"" "Codice { Mergefield
Codice_Esenzione
Prossimo_Rinnovo}" ""}{Mergefield Codice_Esenzione}<>""}
chiaramente avrete capito che non sono pratico e sono arrivato fin quà
dietro gentile suggerimento di chi collabora attivamente a questo splendido
NG ..step by step... avete qualche suggerimento, considerando anche altre
soluzioni di stampa che non siano esclusivamente in Word...???
grazie x la gentile collaborazione....e spero di essermi spiegato
chiaramente...
--
SuperPippo :o))


author: Sergio MAZZA (Tiscali)

text:
Ciao Super Pippo, mi puoi racconti le ultime?
Ciao.


text:
"Sergio MAZZA (Tiscali)" <
sergi...@tiscalinet.it
> ha scritto nel
messaggio news:8or0vq$bvl$2...@lacerta.tiscalinet.it...
> Ciao Super Pippo, mi puoi racconti le ultime?
>
> Ciao.
>
>
Acc! Me se' imbrogliata la lingua (o le dita)... Beh! Comunque hai capito
no?
Ciao.


text:
"Sergio MAZZA (Tiscali)" <
sergi...@tiscalinet.it
> ha scritto nel
messaggio news:8or5am$l1t$1...@pegasus.tiscalinet.it...
>
> "Sergio MAZZA (Tiscali)" <
sergi...@tiscalinet.it
> ha scritto nel
> messaggio news:8or0vq$bvl$2...@lacerta.tiscalinet.it...
> > Ciao Super Pippo, mi puoi racconti le ultime?
> >
> Acc! Me se' imbrogliata la lingua (o le dita)... Beh! Comunque hai capito
no?
------------------
Ciao Sergio...anzitutto ben tornato...(spero ferie)  non ti avevo sentito +
per cui mi sono deciso a ri-postare il mio problema riguardo quel DB....
in pratica vorrei risolvere quel problema delle stampe unione in Word..che
come dicevo ho provato e riprovato ma non vą....se hai qualche altra
soluzione ben venga...Ciao...
--
SuperPippo :o))


title: editor vba uso bookmark

author: pfmarro

text:
salve
nell'editor di MsAccess 365 non c'e' la possibilità di inserire dei bookmark in modo da spostarsi velocemente in fase di editing il codice?

Come posso fare?
GRAZIE


title: editor vba uso bookmark

author: Karl Donaubauer

text:
Salve,

pfmarro:
> nell'editor di MsAccess 365 non c'e' la possibilità di inserire dei bookmark in modo da spostarsi velocemente in fase di editing il codice?
>
> Come posso fare?

Come sempre negli ultimi >20 anni. Non è cambiato nulla. C'è la voce di
menu Modifica/Segnalibri e la barra degli strumenti Modifica con le
relative icone.

--
Ciao
Karl
*********
http://AccessDevCon.com

Access FAQ:
http://donkarl.com/it


title: editor vba uso bookmark

text:
GRAZIE DEL MESSAGGIO
non c'e' la possibilità di creare delle scorciatoie da tastiera per attivare o disattivare i Bookmark?

GRAZIE


title: editor vba uso bookmark

text:
Salve,

pfmarro:
>
> non c'e' la possibilità di creare delle scorciatoie da tastiera per attivare o disattivare i Bookmark?
>

Non ce ne sono di incorporati. Questo elenco è abbastanza completo:
https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/menu-shortcut-keys-available-in-the-code-window

Certo puoi utilizzare le lettere del menu sottolineate con il tasto Alt.
p.e. nella versione italiana: Alt + M, B, I per impostare/rimuovere un
segnalibro

Inoltre, siccome scrivi di "creare": Potresti programmare un add-in per
il VBE che lo fa.



title: editor vba uso bookmark

author: Ammammata

text:
Il giorno Fri 16 Oct 2020 09:00:53p, *Karl Donaubauer* ha inviato su
it.comp.appl.access il messaggio
news:huucfg...@mid.individual.net
.
Vediamo cosa ha scritto:

> Come sempre negli ultimi >20 anni. Non è cambiato nulla.

infatti. ogni volta che vado in struttura report maledico il deficiente che
non ha inserito uno strumento di zoom

--
/-\ /\/\ /\/\ /-\ /\/\ /\/\ /-\ T /-\
-=- -=- -=- -=- -=- -=- -=- -=- - -=-
........... [ al lavoro ] ...........


title: editor vba uso bookmark

text:
Salve,

Ammammata:
> ...
> infatti. ogni volta che vado in struttura report maledico il deficiente che
> non ha inserito uno strumento di zoom

https://access.uservoice.com/forums/319956-access-desktop-application/suggestions/10129548-zoom-design-view-for-forms-reports-and-form-vi




title: Messaggio x HARRY EVANS

author: Roberto Di Vetta

text:
Scusami se ti disturbo, ma volevo chiederti informazioni circa l'acquisto di
una copia originale di MsOffice Developer '97.
Infatti mi dicono che tu l'hai acquistata di recente mentre io non riesco a
reperirla sul mercato perchè  fuori produzione.
Puoi indicarmi il fornitore giusto.
ti ringrazio anticipatamente.
ciao roberto.


title: Messaggio x HARRY EVANS

author: Harry Evans

text: La ditta è la DATOR di Bolzano che distribuisce prodotti Microsoft


title: Sto fondendo:help con report

author: NON

text:
Ho una maschera ordini nella quale registro tutte le vendite.
Ho creato un report FATTURA proveniente dalla stesa Query di Ordini.
Ho applicato un pulsante sulla tabella ordini STAMPA FATTURA, ma al momento
di visualizzare anteprima report non mi fa visualizzare la sola fattura
relativa a quel record ma tutte.
Come posso Visualizzare solo quella?????
Grazie ROBERTO.


title: Sto fondendo:help con report

author: jef

text:
"NON" <
DRN...@TIN.IT
> ha scritto nel messaggio
news:5Ur89.3268$xi1.1...@news2.tin.it...

E' un problema di criteri. Adesso così si fa un po' fatica a capire dove
devi applicarli. Puoi farlo sulla query di base oppure sull'apertura del
report.
Ciao


title: Sto fondendo:help con report

author: Rob

text:
"NON" <
DRN...@TIN.IT
> ha scritto nel messaggio
news:5Ur89.3268$xi1.1...@news2.tin.it...

Se la query Ordini ti serve cosi' com'e' (immagino di si) la salvi con un
altro nome (Fatture?) e nei criteri del campo [IDFattura] o equivalente
(c'e' vero?) ci scrivi Like Forms!TuaFormFatture![IDFattura].
Basi l'origine dati del report sulla query cosi' creata.
Addovrebbefunziona'
Mandi, Rob.


title: CASELLA DI RIEPILOGO

author: David

text:
Secondo voi e' normale che se cerco di visualizzare una serie di campi
tramite un controllo CASELLA DI RIEPILOGO tutto sia corretto tranne il fatto
che i valori con la virgola vengono visualizzato solo per la parte intera
(cioe' la cifra che precede la virgola)?
ciao
Grazie
--
________________________________________
Davide Cielo
d.c...@tin.it


title: CASELLA DI RIEPILOGO

author: Luciano (DOC)

text:
David ha scritto nel messaggio ...
>Secondo voi e' normale che se cerco di visualizzare una serie di campi
>tramite un controllo CASELLA DI RIEPILOGO tutto sia corretto tranne il
fatto
>che i valori con la virgola vengono visualizzato solo per la parte intera
>(cioe' la cifra che precede la virgola)?
Controlla il formato della query di origine della CASELLA DI RIEPILOGO
(perche' lo strilli?:-) nel campo dove hai quel numero ed eventualmente
imposta le cifre decimali a quante vuoi tu.
Alle brutte (ma proprio alle brutte!!:-) forza il formato con #.##0,## o
quello che e'..controlla i formati sull'help.
Saluti.
Luciano
(DOC)


title: moduli di classe

author: luca

text:
dove posso trovare un sito dove vengono spiegati i moduli di classe?
vorrei capirne il loro impiego e se č fattibile usarli in access.


title: Sicurezza DB

author: Bottari Studio Associato

text:
Ciao a tutto il NG.
Vorrei distribuire un programma fatto con Vb + DB access2000.
Non vorrei che qualcuno abbia la possibilita' di "copiare" il DB o meglio
vederne la struttura di tabelle,querry e relazioni.
Assodato che la password impostata a livello di DB non serve a molto
(infatti si trovano molti programmini che riescono a visualizzare tale
password), mi chiedevo se l'utilizzo delle password a livello di utente mi
offre qualche garanzia in piu' oppure se e' altrettanto semplice scavalcare
anche le protezioni associate agli utenti.
2 Domanda: Se uso SQL 7.0/MSDE (che non conosco per niente), posso sempre
impedire l'accesso al db a persone che non hanno la password (ripeto che mi
interessa impedire l'accesso alla struttura, non l'accesso ai dati)?? Esiste
una password di DB come in Access??
Ultima domanda:
- che limitazioni mi porta l'uso delle password a livello di utente nell'uso
di componenti Data-bound in VB?
Thanks
Andrea


title: A2007 - Runtime selettivo...

author: SharkOver

text:
Salve a tutti,
ho cercato un bel po oggi ma non sono stato fortunato e quindi provo a
chiedere a voi.
Applicazione con Access2007, back end in rete e front end copiato sulle
singole macchine ove è installato solo il runtime (italiano ultimo file)
Su alcune macchine lo stesso db funziona perfettamente, su altre
macchine invece pare non eseguire porzioni di codice...
Esempio: ho una form dove sull'evento apertura con due select distinte
vado a recuperare due valori che poi metto in dei text box. Cosa
semplice che però sulle macchine incriminate ottiene come effetto la
compilazione del primo text box e non del secondo... notare che a
seguito di quella porzione di codice ce n'è un altro pezzetto dove vado
a fare un operazione usando i valori dei due campi impostati: sulle due
macchine che mi danno problemi non ottengo errori ma neppure la
compilazione dei campi...
Inutile dire che:
1. La directory dove risiede il backend ha i soliti diritti per tutti
gli utenti e dalle due macchine la si vede perfettamente.
2. Ho controllato le librerie (riferimenti) e ci sono tutti con le
giuste versioni dei files.
3. Non sono presenti applicativi office oltre che Outlook che è presente
su tutte le macchine.
La questione mi perplime... avete idea di cosa mi possa sfuggire?
Grazie in anticipo :)
Sergio


title: A2007 - Runtime selettivo...

author: Oscar Manfredini

text:
"SharkOver"
> Salve a tutti,
>
> ho cercato un bel po oggi ma non sono stato fortunato e quindi provo a
> chiedere a voi.
Solo tanto per ... il formato del Front-End è .MDE oppure AccDE?
Ciao: Oscar


title: A2007 - Runtime selettivo...

text:
Oscar Manfredini ha scritto:
[..]
> Solo tanto per ... il formato del Front-End è .MDE oppure AccDE?
AccDE
> Ciao: Oscar
Ciao :)


title: Select case su evento click di un command

author: diego

text:
salve a tutto il N.G. avrei bisogno di un aiuto se fosse possibile;
la mia necessità sarebbe quella di far eseguire delle query di
inserimento diverse le une dalle altre su l'evento click di un command
ma a determinate condizioni, e cioè se due controlli di tipo textbox
sono nulle o meno
Mi spiego meglio:
se la text1 non è nulla e la text2 è nulla  allora docmd runsql
"query1"
docmd runsql "query2"
altrimenti
nulla
se la text1 è nulla e la text2 non e' nulla allora docmd runsql "
query3"
docmd runsql "query 4"
altrimenti
nulla
se la text1 non è nulla e la text2 non e' nulla allora docmd runsql
"query 5"
  docmd runsql "query6"
altrimenti
 nulla
se la text1 è nulla e la text2 è nulla allora docmd runsql "query 7"
alytrimenti
nulla
ed i vari end if
ora avrei voluto invece di questa sequenza di if else ecc ecc adottare
un select case
nonostante mi funzioni in questo modo, ma ritengo piu' elegante e meno
"Logorroico" usare il select case piuttosto che gli if ed else per
questo genere di cose,
il problema sta che non so come fare =))
cioe io scrivo una function del tipo
function registra() e la mando in esecuzione sull'evento click del
command
ma mi impallo perchè non so cosa passare sul select case
cioe:
function registra()
select case ......che cosa cavolo gli metto?
ho provato a fare  select case me.command1.onclick
e poi i vari case 1  case 2 ecc ma non va....
devo lasciare le cose come stanno con gli if ed else?
o posso sperare che ci possa essere una soluzione a questo , magari
semplicissimo per voi problema , ma piuttosto astruso per me!!
grazie
Saluti
Diego


author: Morgan

text:
"diego" <
diegoci...@hotmail.com
> ha scritto nel messaggio
news:1159217486.8...@h48g2000cwc.googlegroups.com...


docmd runsql "query2"
altrimenti
nulla

docmd runsql "query 4"
altrimenti
nulla

  docmd runsql "query6"
altrimenti
 nulla

alytrimenti
nulla







cioe:


grazie
Saluti
Diego
Parti da questo e vedi di svilupparlo
Guardati bene la sintassi di Select Case
che non me la ricordo bbene ma dovrebbe
poter accettare due valori contemporaneamente ;)
Morgan
If Me.NotIsNull(text1.value) then
blnX =True
else
blnX=False
end if
If Me.NotIsNull(text2.value) then
blnY =True
else
blnY=False
end if
Function Registra (blnX as Boolean, blnY as Boolean)
Select Case Registra
Case blnX AND blnY = True
docmd runsql "query1"
Case blnX = False AND blnY = True
docmd runsql "query2"
Case blnX = True AND blnY = False
docmd runsql "query3"
End Select


author: Alessandro Baraldi

text:
diego ha scritto:

La selezione effettuata da un If....ElseIf ....Else..End if è più
veloce che quella fatta da un SELECT CASE.....!
Detto questo non vorrei che ti scappasse proprio :
If Cond1.... Then
   ...........
ElseIf Cond2 Then
   ............
ElseIf Cond3 Then
   .........
Else
   ...........
End If
@Alex


author: Michele (Giò)

text:
"diego" <
diegoci...@hotmail.com
> ha scritto nel messaggio
news:1159217486.8...@h48g2000cwc.googlegroups.com...
salve a tutto il N.G. avrei bisogno di un aiuto se fosse possibile;
la mia necessità sarebbe quella di far eseguire delle query di
inserimento diverse le une dalle altre su l'evento click di un command
Potresti utilizzare la seguente struttura valida per 2 campi
Select case
((iif(isnull(me.campo1.value),0,1)+(iif(isnull(me.campo2.value),0,2))
Case 0 'campo1 e 2  nulli
......
Case 1 'campo1 non nullo e campo2 nullo
.....
Case2 'campo1 nullo e campo2 non nullo
......
Case3 'campo1 e 2 non nulli
.....
End select
Non l'ho provata ma dovrebbe funzionare.
Michele


text:
Morgan ha scritto:
>
> Parti da questo e vedi di svilupparlo
> Guardati bene la sintassi di Select Case
> che non me la ricordo bbene ma dovrebbe
> poter accettare due valori contemporaneamente ;)
> If Me.NotIsNull(text1.value) then
> blnX =True
> else
> blnX=False
> end if
>
> If Me.NotIsNull(text2.value) then
> blnY =True
> else
> blnY=False
> end if
>
> Function Registra (blnX as Boolean, blnY as Boolean)
>
> Select Case Registra
>
> Case blnX AND blnY = True
> docmd runsql "query1"
> Case blnX = False AND blnY = True
> docmd runsql "query2"
> Case blnX = True AND blnY = False
> docmd runsql "query3"
>
> End Select
ti ringrazio della dritta, credo che possa funzionare, una cosa pero'
ti chiedo:
If Me.NotIsNull(text1.value) then
blnX =True
else
blnX=False
end if
If Me.NotIsNull(text2.value) then
blnY =True
else
blnY=False
end if
ma questa routine dove la colloco? all'inizio nella function registra o
deve essere una function a se stante?
Grazie
Diego


text:
Alessandro Baraldi ha scritto:
> La selezione effettuata da un If....ElseIf ....Else..End if è più
> veloce che quella fatta da un SELECT CASE.....!
>
> Detto questo non vorrei che ti scappasse proprio :
>
> If Cond1.... Then
>    ...........
> ElseIf Cond2 Then
>    ............
> ElseIf Cond3 Then
>    .........
> Else
>    ...........
> End If
>
> @Alex
Ciao Alex, io credevo invece che fosse l'opposto, mi avevano detto che
le istruzioni if else end if  risultavano meno performanti rispetto ai
select case che risultavano piu' veloci oltre che piu' sintetici dal
punto di vista di quantita' di codice da andare ad esaminare, quindi
pensavo che fosse stato meglio adottare il select case piuttosto che
gli if.


text:
Michele (Giò) ha scritto:
>  Potresti utilizzare la seguente struttura valida per 2 campi
>
> Select case
> ((iif(isnull(me.campo1.value),0,1)+(iif(isnull(me.campo2.value),0,2))
> Case 0 'campo1 e 2  nulli
> ......
> Case 1 'campo1 non nullo e campo2 nullo
> .....
> Case2 'campo1 nullo e campo2 non nullo
> ......
> Case3 'campo1 e 2 non nulli
> .....
> End select
>
> Non l'ho provata ma dovrebbe funzionare.
>
> Michele
Ora la provo
Grazie michele


text:
Michele (Giò) ha scritto:
>  Potresti utilizzare la seguente struttura valida per 2 campi
>
> Select case
> ((iif(isnull(me.campo1.value),0,1)+(iif(isnull(me.campo2.value),0,2))
> Case 0 'campo1 e 2  nulli
> ......
> Case 1 'campo1 non nullo e campo2 nullo
> .....
> Case2 'campo1 nullo e campo2 non nullo
> ......
> Case3 'campo1 e 2 non nulli
> .....
> End select
>
> Non l'ho provata ma dovrebbe funzionare.
>
> Michele



text:
>"diego" <
diegoci...@hotmail.com
> ha scritto nel messaggio
>news:1159220026.8...@b28g2000cwb.googlegroups.com...
>
>Michele (Giò) ha scritto:
>
>[Cut]
>
>Grazie michele
>
Mi sa proprio che per scegliere il metodo giusto dvrai utilizzare la classe
cronometro di Baraldi....... Grande Alex, un capolavoro!
Michele


text:
> Mi sa proprio che per scegliere il metodo giusto dvrai utilizzare la classe
> cronometro di Baraldi....... Grande Alex, un capolavoro!
>
> Michele
Mi sa di si....eppure pensavo di aver capito bene quando mi dissero che
il select case e' piu' veloce dell'if else end if
o magari mi ero "calato" qualche bicchere in piu' di mitico "Sangue
Siciliano".....si forse è così :=))


text:
diego ha scritto:

La cosa è da analizzare.
Se la prima Condizione(il 1° Case) è quella più frequente il Select
è più veloce, se invece
le condizioni sono multiple con una casualità di precedenza il Select
case perde velocità....!
Parliamo sempre di finezza....
@Alex


text:
"diego" <
diegoci...@hotmail.com
> ha scritto nel messaggio
news:1159221484....@m73g2000cwd.googlegroups.com...



Siciliano".....si forse č cosě :=))
Ma allora sto Select Case che ho concepito e partorito ieri sera funzia o
non funzia?
Michele


text:
Michele (Giò) ha scritto:
> Ma allora sto Select Case che ho concepito e partorito ieri sera funzia o
> non funzia?
>
> Michele
scusa Michele se non ho risposto subito ma l'ho provato solo stasera
quando sono rientrato, comunque si che funziona cosi'  come anche tutte
le altre soluzioni suggerite, devo solo scegliere quale soluzione
adottare, c'e' da dire , per rispondere ad Alex, che in effetti una
query in particolare e' davvero richiesta le altre sono utilizzate
sporadicamente
quindi magari dal momento che la condizione  che il Case1 sia quello
più usato rispetto gli altri Case esiste, magari vedro per optare per
il Select anziche' con gli IF :
Grazie
Saluti
Diego


text:
diego ha scritto:

L'ordine dispositivo del Case è fondamentale, sel la QRY1 è quella
maggiormente usata
dovrai metterla come 1° Case, in questo modo la valutazione verrà
interrotta subito
evitando le singole valutazioni, ma questo è valido anche per
IF...ELSEIF...END IF
Ciao
@Alex


text:
Alessandro Baraldi ha scritto:
> L'ordine dispositivo del Case è fondamentale, sel la QRY1 è quella
> maggiormente usata
> dovrai metterla come 1° Case, in questo modo la valutazione verrà
> interrotta subito
> evitando le singole valutazioni, ma questo è valido anche per
> IF...ELSEIF...END IF
>
> Ciao
> @Alex
Sinceramente questo non lo sapevo, devo dirti in tutta franchezza che
non mi ero mai posto il problema della precedenza, posso, forse, anche
capire il perche' magari ho avuto qualche problema nel far funzionare
la routine, io non posizionavo come primo select o comunque come prima
condizione, usando gli IF, la query maggiormente usata, ma bensì
dettavo le condizioni, cioè se uno dei due controlli era nullo o meno,
se erano nulli o non nulli entrambi, e mi sono accorto che la query,
anzi le query, piu' usate che vengono eseguite sulla condizione
entrambi nulli, vengono sempre eseguite e le altre no, mi spiego
la maschera non e' associata ci sono una ventina di campi che vanno a
scrivere dati su  5 tabelle,  all'evento click del command,circa 10
campi inseriscono i valori scritti nella tabella utente, 4 campi
scrivono nella tabella targa associata attraverso l'idUtente alla
tabella utente, altri  8 o 9 campi scrivono dati nella tabella Pass che
è associata alla tabella targa attraverso l'idTarga, quindi le query
di inserimento principali sono la INSERT INTO TblUtente, INSERT INTO
TblTarga, INSERT INTO TblPass; ora ci stanno altri due Controlli, il
Controllo INTESTATARIO dove viene inserito il nominativo
dell'intestatario della vettura qualora l'utente non fosse
l'intestatario, ed il Controllo NOTE, entrambi i controlli scrivono
dati sulle relative tabelle Tabella Intestatario e Tabella Note
entrambe le tabelle sono relazionate alla Tabella Utente attraverso
l'IdUtente, Naturalmente ogni tabella ha anche un proprio Id che viene
generato attraverso una funzione di incremento (SELECT 1+Max(ecc.ecc.)
che viene scritto su un Controllo (TextBox) nascosto e che nel momento
che la query di inserimento viene eseguita scrive il valore nella
Tabella di Riferimento, questo per ogni tabella.
Quindi cosa succede, succede che se il controllo Note o Intestatario
sono Nulli (perche' naturalmente non tutti gli utenti sono NON
PROPRIETARI e non tutti gli Utenti devono essere in possesso di NOTE
da riportare come promemoria), le query che vengono eseguite sono le 3
principali di cui sopra, se viceversa non sono nulli le query che
vengono eseguite diventano da 4 a 5 se i controlli in questioni NON
sono NULLI entrambi. Ora mi sono accorto che sia con select che con
l'IF vengono solo eseguite le 3 query principali e vengono sempre
ignorate le altre due , qualunque condizione sia,
ho anche pensato che il valore su Controllo vuoto non fosse Null, ed ho
quindi fatto il DEBUG.PRINT e come valore mi restituisce
NULLO....Quindi non so come mai non vengono eseguite le altre due
Query, non ho ancora provato però a dare le precedenze come mi hai
appena suggeito tu, puo' darsi che magari la soluzione del problema
possa  essere questa, inoltre volevo aggiungere che tutto l'Ambaradam
di query da eseguire e tutto il relativo codice che ne deriva non lo
scrivo sull'evento click del command, ma bensì scrivo una sub che ho
chiamato Sub inserisci() scrivo tutte le condizioni e le relative query
e poi la passo sull'evento click del command.
Non ho piu' nulla da scrivere, e meno male.
Saluti
Diego


text:
diego ha scritto:

Prova a postare il codice pulito del condizionamento(inteso come Select
Case o If...End if) mi suona strano quello che dici...!
Il controllo di un Controllo Testo si deve eseguire in 2 modi:
If IsNull(Me!nomeControllo) Or Len(Me!NomeControllo)=0 Then
Se ti limiti al Null rischi di avere brutte sorprese...!
@Alex