title: report specifico

author: ILC CARRARA

text:
Salve a tutti,

ho l'esigenza che da una maschera nella quale vegano immesse
delle informazioni con un pulsante di comando apra il report specificato dale in
formazione immesse;

Per quanto concerne l'intervallo di tempo ho inserito nel
campo Data della Query il criterio Between [Forms]![Mia maschera]![Mio
controllo1] and [Forms]![Mia maschera]![Mio controllo2] e non ci sono problemi.
Ora però ho la necessita di inserire una casella combinata che riporta i
prodotti dei quali voglio visualizzare il report e Vi chiedevo la strada da
seguire, devo impostare un criterio nella query origine del report? Se si
quale?

Grazie a tutti per l'aiuto


title: report specifico

author: LaLo

text:
""ILC CARRARA"" <
ilc...@ilccarrara.com
> ha scritto nel messaggio
news:000801c07f9f$5c801780$0700...@tiscalinet.it...

====
Basta inserire la casella combinata e legarla al codice prodotto (se usi
l'autocomposizione fai subito). La proprietà che identifica il prodotto
scelto è 'Value'; attento però a controllare il valore nullo (cioè nessun
prodotto selezionato).
Ciao
LaLo
P.S.: perchè non scrivi in testo normale invece di HTML? Guarda il post di
Federico Luciani con oggetto INFO.


title: report specifico

author: Joseph

text:
LaLo <reg...@LLtin.it> wrote in message 9415rb$ee$1...@pluto.sm.dsi.unimi.it...

Ciao io ho praticamente la stessa esigenza di "ILC Carrara", ho provato ad
applicare i suggerimenti offerti da Lalo ma con esito negativo, ti prego
potresti essere più chiaro?
potresti indicarmi il criterio da seguire?
Grazie per la tua disponibilità


title: report specifico

text:
"Joseph" <
nap...@libero.it
> ha scritto nel messaggio
news:gY096.67157$eB2.5...@news.infostrada.it...
>
> LaLo <reg...@LLtin.it> wrote in message
9415rb$ee$1...@pluto.sm.dsi.unimi.it...
[CUT]
> Ora però
> ho
> > la necessita di inserire una casella combinata che riporta i prodotti
dei
> > quali voglio visualizzare il report e Vi chiedevo la strada da seguire,
> devo
> > impostare un criterio nella query origine del report? Se si quale?
> > Grazie a tutti per l'aiuto
> > ====
> > Basta inserire la casella combinata e legarla al codice prodotto (se usi
> > l'autocomposizione fai subito). La proprietà che identifica il prodotto
> > scelto è 'Value'; attento però a controllare il valore nullo (cioè
nessun
> > prodotto selezionato).
> > Ciao
> > LaLo
> >
> > P.S.: perchè non scrivi in testo normale invece di HTML? Guarda il post
di
> > Federico Luciani con oggetto INFO.
> >
> >
> Ciao io ho praticamente la stessa esigenza di "ILC Carrara", ho provato ad
> applicare i suggerimenti offerti da Lalo ma con esito negativo, ti prego
> potresti essere più chiaro?
> potresti indicarmi il criterio da seguire?
> Grazie per la tua disponibilità
>
Inserisci una combo box nella maschera; l'autocomposizione chiede quali
colonne inserire, specifica il codice prodotto e la descrizione. Lega il
controllo per il campo codice prodotto al campo della tabella sottostante.
Quando si tratta di effettuare una query e ti occorre il codice prodotto
scelto, utilizza la proprietà Value (ad esempio, se il controllo si chiama
cboProdotti, devi utilizzare cboProdotti.Value).
HTH
LaLo


title: DateDiff con risultato tipo h.m.s

author: Galerio

text:
Sono nuovo di access e per la tesi sto cercando di creare una colonna
che calcoli il tempo intercorso tra l'arrivo e l'uscita (entrambi
espressi in una data del tipo 08/10/2012 20:34.56). Con DateDiff riesco
a visualizzare i minuti o i secondi totali di differenza, ma non riesco
a formattarli in modo che al posto di, ad esempio, 126 minuti mi scriva
2:06 o 2h06m o simile. Qualche suggerimento?

Grazie


title: DateDiff con risultato tipo h.m.s

text:
Galerio ci ha detto :

soluzione trovata:

DateDiff("n",[Check In/Out].[Check In],[Check In/Out].[Check Out]) \ 60
& " Hours " & DateDiff("n",[Check In/Out].[Check In],[Check
In/Out].[Check Out]) MOD 60 & " Minutes" As ElapsedTime


title: DateDiff con risultato tipo h.m.s

text:
> soluzione trovata:
>
> DateDiff("n",[Check In/Out].[Check In],[Check In/Out].[Check Out]) \ 60 & "
> Hours " & DateDiff("n",[Check In/Out].[Check In],[Check In/Out].[Check Out])
> MOD 60 & " Minutes" As ElapsedTime

Volendo però complicare la cosa e cioè volendo che mi appaia il tempo
nel formato:
giorni : ore : minuti
Come posso fare?
Ho pensato di fare una cosa del tipo

DateDiff("n",[Check In/Out].[Check In],[Check In/Out].[Check Out]) \
1440 & " Days " & (DateDiff("n",[Check In/Out].[Check In],[Check
In/Out].[Check Out]) MOD 1440) MOD 60 & " Hours " & DateDiff("n",[Check
In/Out].[Check In],[Check In/Out].[Check Out]) MOD 60 & " Minutes" As
ElapsedTime

In pratica prendo il resto della divisione dei minuti per 1440 (un
giorno) e lo ridivido per 60 prendendo ancora solo il resto (quindi
faccio un MOD 1440 MOD 60) ma non mi funziona... speravo di poter
risolvere con le parentesi ma non va. Il fatto è che se un intervallo
di tempo è superiore ai 1440 minuti (cioè un giorno) se uso la
divisione "/60" mi da anche numeri maggiori di 24. Per cui salta fuori
una cosa del tipo:
1 giorno 27 ore
quando invece sarebbe dovuto essere 1 giorno e 3 ore (cioè 27 ore in
totale).

Se invece potessi dividere due volte le ore prendendo per due volte
solo il resto, allora riuscirei ad ottenere il risultato voluto.

Idee?

DateDiff('n',[Sepsi e shock settici]![Arrivo],[Sepsi e shock
settici]![Uscita])\60


title: DateDiff con risultato tipo h.m.s

text:
Segnalo XPOST:
http://www.iprogrammatori.it/forum-programmazione/access/datediff-che-mostri-giorni-ore-minuti-t15886.html#p8490386

@Alex


DateDiff con risultato tipo h.m.s


title: DateDiff con risultato tipo h.m.s

text:
@Alex ci ha detto :
> Segnalo XPOST:

Scrivo anche direttamente la soluzione al mio caso:

DateDiff("n",inizio,fine) \ 1440 & " g " &
(DateDiff("n",inizio,fine) Mod 1440) \ 60 & " h " &
DateDiff('n',inizio,fine) Mod 60 & " m "


title: Maschera dati: bloccare le colonne nascoste

author: PabloDapatas

text:
Innanzi tutto salve a tutti.
Sto usando access "in modo intensivo" da circa un mesetto (mi scuso
pertanto da subito per eventuali banalità chieste) e avrei bisogno di un
aiuto su un problemino su cui mi sono un attimo arenato.
E' possibile bloccare le colonne di una maschera in visualizzaione dati
onde evitare che qualche utente intraprendente possa visualizzarle? Per
darvi un'idea la situazione è abbastanza simile al database d'esempio
Northwind (visto che da lì ho preso spunto). Ho visto una voce blocca
colonne nel menu ma non ho ottenuto alcun risultato.
Grazie per l'aiuto.
Paolo


title: Non funziona

author: Marina F.

text:
Ciao a tutti
Ho un DB che va quando vuole vi spiego:
qundo parte il db ho una maschera d'avvio predefinita con dei pulsanti che
tramite rutine abilitano varie opzioni ebbene a volte e non sempre prementdo
i pulsanti non succede niente; chiudo e riapro la maschera tutto ritorna a
funzionare.
Qualcuno mi sa spiegare il motivo.
Grazie mille salute a tutti.
--


title: Non funziona

author: Mrok

text:
"Marina F." <HIaz7.35257$1H1.3...@news.infostrada.i> ha scritto nel
messaggio news:WCm_7.41258$s04.1...@news.infostrada.it...

Che versione usi?
Magari se spieghi come sono fatte le routine posso aiutarti


title: Esiste una Mailist per Access?

author: Ferrari Rino

text: Vorrei sapere se esiste una mailist per Acces!


title: Esiste una Mailist per Access?

author: Carlo Ve

text:
Ferrari Rino ha scritto nel messaggio <8ipiq7$hg5$
1...@nslave2.tin.it
>...
>Vorrei sapere se esiste una mailist per Acces!
No che io sappia, non esiste una mailist per Acces!
che io sappia non esiste neppure un compilatore per Access!
So pero' che esiste un ottimo ng dove trovi tanta gente che posta domande di
tutti i tipi
e molta altra che cerca di dare delle risposte utili e spesso ci riesce !
Se puo' andarti bene lostesso scrivi che ti posto l'indirizzo
Carlo Ve


title: togliere il filtro ad una maschera alla nuova riapertura

author: Luigi

text:
ciao a tutti

vorrei che riaprendo una maschera filtrata da menu,
abbia l'ordinamento impostatao dalla query in origine record?

Grazie


title: Virus thus .. maledetto

author: Riviera

text:
Tutto perso per questo maledetto virus che si attiva il 13/12/XXXX residente
nei .DOC, Si è recuperato i file con undelete di dos ma pare siano
praticamente inservibili , nella fattispecie un paio di database Access  (FE
e BE ).
I db sono stati zippati e copiati su dischetti , passato Macfee e unzippati
su un altro pc.
Ora , aprendo i database mi danno errori tipo "record perso" , immagine non
trovata etc . Qualcuno sa come fare a recuperarli ??
Grazie in anticipo e auguri di buone feste
Marce


title: grafici e access

author: Luciano

text:
ciao
ho un database in Access 2003 che gestisce i dati di una casa famiglia per
persone disabili. Funziona piuttosto bene ma vorrei implementarlo con dei
grafici che restituiscano delle statistiche, per esempio su quante persone
vi entrano ogni mese, quante se ne vanno, da dove vengono ecc...
diciamo che la madre di tutte le tabelle è la tabella RESIDENTI:
IDUtente (PK)
Nome
Cognome
Data di Nascita (00/00/0000)
Data ingresso (00/00/0000)
Provenienza (Combo: Struttura Privata, Struttura Pubblica, Altro)
Sesso (Combo: M, F)
Devo creare una query apposita?  Ho provato con la creazione guidata grafico
ma mi sono perso; forse non avevo i dati ottimizzati nel modo giusto...
Se mi spiegate come fare almeno per questa tabella come fare il resto lo
trovo. Dovrei creare un grafico per avere gli ingressi per mese, la
proporzione tra maschi e femmine, l'età media dei presenti mese per mese e
suddividerne la provenienza.
grazie mille anticipate


title: grafici e access

author: Cinzia

text:
"Luciano" <
lu.s...@aliceposta.it
> ha scritto nel messaggio
news:RRBbd.37197$b5.18...@news3.tin.it...

Ciao Luciano,
per creare il grafico, devi prima costruirti la query che ti rappresenti i
dati che vuoi visualizzare.
Ad esempio per avere gli ingressi per mese
dovrai costruire una query che sommi le presenze raggruppate per mese, anno,
con i tui dati sarà qualcosa di questo tipo:
Select Somma(IDUtente) as Tot, Year([Data Ingresso]) as Anno, Month([Data
INgresso]) as Mese from RESIDENTI Group BY Year([Data Ingresso]),
Month([Data Ingresso])
Userai poi questa query come origine dati nella creazione grafico.
Spero che per iniziare possa bastare, se serve altro aiuto chiedi pure.
saluti
Cinzia


title: grafici e access

text:
ti ringrazio per il consiglio: con un po' di applicazione ho fatto tutto!!!
Ho creato le query (avevo intuito che partiva tutto da li9 e con la
creazione guidata grafico nella finestra dei report ho fatto tutto.
ho un vecchio problema sulle maschere perň: come disabilitare lo scrolling
del mouse? ho scaricato dal sito comune un database con una maschera di
esempio ma č gestita da un modulo in VB che non so come "infilare" nella mia
maschera. Non c'č qualcosa di piů semplice?
grazie


title: esecuzione query da pannello comandi

author: montanaro

text:
          Ciao, vorrei eseguire una query dal pannello comandi, ma quando vado in
"comando" tra le voci del menů a tendina non č prevista, devo creare una
macro ed eseguirla dal pannello? Grazie
montanaro
--------------------------------
Inviato via
http://arianna.libero.it/usenet/


title: esecuzione query da pannello comandi

author: Roberto dalla campagna

text:
"montanaro" <
trading...@yahoo.it
> ha scritto nel messaggio
news:82Z88Z48Z250Y1...@usenet.libero.it...
>
>           Ciao, vorrei eseguire una query dal pannello comandi, ma quando
vado in
> "comando" tra le voci del menù a tendina non è prevista, devo creare una
> macro ed eseguirla dal pannello? Grazie
E' una soluzione.
> montanaro
--
Roberto
-----------------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
----------------------------------------------------


title: Report con troppi Record

author: John B

text:
Da novizio qual che sono ho utilizzato il database Northwind per adattarlo
alle mie esigenze, modificando il meno possibile.
In particolare ho sostituito la tabella impiegati con la tabella "Veicoli" e
ho inserito nella maschera "Clienti" la sottomaschera "Veicoli" collegate
attraverso il campo IDCliente.
La tabella "Veicoli" è in relazione con IDVeicoli della tabella Ordini.
Tutto funziona, ma quando faccio un'estrazione con i parametri per lo stesso
Cliente con i seguenti criteri passati alla Query Fattura
- tutte le targhe
- interventi dalla data alla data
ho come risultato un report con una infinità di record doppi, tripli e così
via a seconda del numero di targhe che sono presenti nella sottomaschera
Veicoli.
Mentre se faccio una estrazione singola utilizzando il pulsante "Fattura" il
tutto funziona.
Ringrazio per la Vs collaborazione e con l'occasione Buona Pasqua.
Giovanni


title: Report con troppi Record

author: RinoŽ

text:
"John B" <
b...@infinito.it
> ha scritto nel messaggio
news:l5g1e.1119865$35.41...@news4.tin.it...

Ciao Giovanni da quanto ho capito(molto confuso)
dovresti gestire clienti autoveicoli  riparazioni.
Bene prova ad utilizzare in db di esempio(auto-composizione)
Gestione Manutenzione e parti da quello per le ulteriori
modifiche.
Ciao
Rino®


title: Testare se riga in elenco è selezionata!

author: Alby

text:
Salve..Ancora io, ma ho ancura un dubbio:In una form ho una casella di
riepilogo con alcune righe..Quando l'utente seleziona una riga gli
propongo il msg se vuole una stampa e sì la lancio..Il problema è che,
essendo a selezione multipla, cliccando su una voce già selezionata, e
quindi con l'intenzione di deselezionarla,il pgm mi chiede se voglio
una stampa, cosa che non voglio..Come posso fare il controllo sulla
procedura on:click :Se riga non ancora selezionata chiedi stampa, se
già selezionata non chiederla?Thanks!
--
Alby
Inviato da
www.mynewsgate.net


author: Carlo Costarella

text:
"Alby" <
6175i...@mynewsgate.net
> ha scritto nel messaggio
news:200411191...@mynewsgate.net...

Ciao Alby
potresti risolvere il problema usando un pulsante di comando oppure
sull'evento disattivato della casella di riepilogo. Il codice è lo stesso in
entrambi i casi:
Private Sub Elenco2_LostFocus()
If Me.Elenco2.ItemsSelected.Count = 0 Then
    Exit Sub
    Else
    MsgBox "Vuoi la stampa?"
    End If
End Sub
Ciao, Carlo


text:
"Alby" <
6175i...@mynewsgate.net
> ha scritto nel messaggio
news:200411191...@mynewsgate.net...

Dal codice che ti ho spedito è possibile fare quello che tu vuoi,
aggiungendo
lo spezzone di codice che verifica se vi sono record selezionati:
Dim varItm As Variant
For Each varItm In TuaCasellaRiepilogo.ItemsSelected
'scrivi qui quello che vuoi fare
Next varItm
In pratica con il primo codice che ti ho mandato "conti" i record
selezionati;
è evidente che se non ci sono record selezionati esci dalla funzione.
Con l'integrazione di cui sopra, "scannerizzi" tutti i record selezionati e
per ogni record compi l'azione che ti serve.
Un consiglio è quello di leggerti bene il FONDAMENTALE file della guida,
ricco di spiegazioni, esempi e trucchi.
Ciao, Carlo


title: Esercizio: sostituzione caratteri (con eccezioni) in codice SQL

author: Ammammata

text:
Ho trovato un "nuovo" sito che per le tabelle di SAP mi propone una query
preconfezionata che reputo migliore di quella del sito che usavo
precedentemente

quella "vecchia" la prendevo qui:

SAP Business One 9.3 module OQUT table definitions
http://www.saptables.net/?schema=BusinessOne9.3&table=oqut

SELECT
DocEntry, DocNum, DocType, CANCELED, Handwrtten, Printed, DocStatus,
[cut]
CtActTax, CtActTaxFC, CtActTaxSC
FROM OQUT

in pratica mi elenca brutalmente i campi con il loro nome, spesso criptico

Quella "nuova" è un passo avanti:

OQUT - Sales Quotation -
biuan.com
 SDK Developer - SAP® Business ONE (SBO)
https://biuan.com/OQUT

SELECT
   OQUT.DocEntry AS 'Internal Number',
   OQUT.DocNum AS 'Document Number',
   OQUT.DocType AS 'Document Type',
   OQUT.CANCELED AS 'Canceled',
   OQUT.Handwrtten AS 'Manual Numbering',
[agatino]
   OQUT.SplitTax AS 'Split Payment Tax',
   OQUT.SplitTaxFC AS 'Split Payment Tax FC',
   OQUT.SplitTaxSC AS 'Split Payment Tax SC'
FROM OQUT AS OQUT

come vedete mi mette un Alias, che chiarisce meglio il contenuto del campo

ora, il problema:

MS SQL Server Management Studio utilizza gli apici '...' per identificare
un alias ma ANCHE per un testo, solo che per un campo della query qui sopra
questi personaggi hanno usato un apice all'interno dell'alias stesso; ecco
le righe incriminate:

   OQUT.ExptVAtFC AS 'WTax Exempt VAT Amount (FC)',
   OQUT.LYPmtAt AS 'Last Year's Payments',
   OQUT.LYPmtAtSC AS 'Last Years Payments (SC)',

notare quella in mezzo: l'alias (senza apici di delimitazione) è Last
Year's Payments

quell'apice dopo Year mi sballa tutto il resto

ok, basta eliminarlo e tutto torna a posto, ovvio

però, dato che posso usare anche le parentesi quadre [...] per delimitare
l'alias di un campo, sarebbe bello poter elaborare il testo copiato dal
sito in modo da trasformare gli apici di inizio alias in [ parentesi quadra
aperta e quelli di fine alias in ] parentesi quadra chiusa

le stesse istruzioni, messe così

   OQUT.ExptVAtFC AS [WTax Exempt VAT Amount (FC)],
   OQUT.LYPmtAt AS [Last Year's Payments],
   OQUT.LYPmtAtSC AS [Last Years Payments (SC)],

funzionano egregiamente

idee e suggerimenti?

grazie

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


author: BFS

text:
Il 15/07/2021 12:46, Ammammata ha scritto:
> Ho trovato un "nuovo" sito che per le tabelle di SAP mi propone una query

 >     OQUT.ExptVAtFC AS 'WTax Exempt VAT Amount (FC)',
 >     OQUT.LYPmtAt AS 'Last Year's Payments',
 >     OQUT.LYPmtAtSC AS 'Last Years Payments (SC)',

se l'apice di inizio ha sempre prima uno spazio e quello finale è sempre
seguito da una virgola te la cavi con due replace
che fanno lo scambio

" '" con "["
e
"'," con "]"

mentre gli apici interni non avendo spazi e virgole dopo non vengono toccati
se così  non fosse...bisogna pensare ad altro
tipo sfruttare instr

per calcolare la posizione del primo apice da sinistra e sostituirlo con [
calcolare la posizione del primo apice da destra e sostituirlo con ]

BFS


text:
Il giorno Thu 15 Jul 2021 05:15:59p, *BFS* ha inviato su
it.comp.appl.access il messaggio news:scpjfe$nkc$
1...@gioia.aioe.org
. Vediamo
cosa ha scritto:

> se l'apice di inizio ha sempre prima uno spazio e quello finale č sempre
> seguito da una virgola te la cavi con due replace
> che fanno lo scambio

meglio cosě, conservando lo spazio prima e la virgola dopo:

>
> " '" con " ["
> e
> "'," con "],"
>
>

quelli interni dovrebbero essere proprio pochi, si spera, da non richiedere
automatismi
al limite segnalo l'anomalia al sito

...e grazie neh



text:

sicuramente c'è di meglio ma pare funzionare..

----------------------
Dim miaStringa As String
Dim primo As Integer
Dim ultimo As Integer

miaStringa = "OQUT.LYPmtAt AS 'Last Year's Payments',"
primo = InStr(1, miaStringa, "'")
ultimo = InStrRev(miaStringa, "'")
miaStringa = Left(miaStringa, primo - 1) & "[" & Mid(miaStringa, primo + 1)
miaStringa = Left(miaStringa, ultimo - 1) & "]" & Mid(miaStringa, ultimo
+ 1)
--------------------------------

Debug.Print miaStringa--->OQUT.LYPmtAt AS [Last Year's Payments],

con
miaStringa = "OQUT.LYPmtAt AS 'Last fdgjl'gfgfdg''gdfgf' Year's Payments',"

Debug.Print miaStringa--->OQUT.LYPmtAt AS [Last fdgjl'gfgfdg''gdfgf'
Year's Payments],

BFS


text:
Il 15/07/2021 17:35, Ammammata ha scritto:
> Il giorno Thu 15 Jul 2021 05:15:59p, *BFS* ha inviato su
> it.comp.appl.access il messaggio news:scpjfe$nkc$
1...@gioia.aioe.org
. Vediamo
> cosa ha scritto:
>
>> se l'apice di inizio ha sempre prima uno spazio e quello finale è sempre
>> seguito da una virgola te la cavi con due replace
>> che fanno lo scambio
>
> meglio così, conservando lo spazio prima e la virgola dopo:
>
>>
>> " '" con " ["
>> e
>> "'," con "],"
>>
>>
>
> quelli interni dovrebbero essere proprio pochi, si spera, da non richiedere
> automatismi
> al limite segnalo l'anomalia al sito
>
>
> ...e grazie neh
>

asp
questa soluzione non va con l'ultimo campo prima del FROM che ovviamente
non ha la virgola

    OQUT.SplitTaxFC AS 'Split Payment Tax FC',
    OQUT.SplitTaxSC AS 'Split Payment Tax SC'   <-----

se gli apici interni non hanno mai spazi prima o dopo te la cavi con un
ulteriore replace "' " con "] "

BFS


text:
Il giorno Thu 15 Jul 2021 05:40:49p, *BFS* ha inviato su
it.comp.appl.access il messaggio news:scpku0$1di9$
1...@gioia.aioe.org
. Vediamo
cosa ha scritto:

> se gli apici interni non hanno mai spazi prima o dopo te la cavi con un
> ulteriore replace "' " con "] "
>

eh sě, ma ci sono centinaia di tabelle (anche se quelle che uso saranno una
ventina) con innumerevoli campi (spesso centinaia e centinaia), vai a
sapere se quelli di SAP hanno dato altri nomi descrittivi del campo con
l'apice

direi che per adesso va *benesissimo* cosě: find&replace fa il grosso, per
il resto si va a manina, tanto poi la query modificata me la salvo a parte
(fino al prossimo aggiornamento del database)



title: Comando SHELL in Access 2003 non funziona.

author: ¯`·.¸.·´¯ AgoGuz ¯`·.¸.·´¯

text:
Saluto tutti,
vi espongo questo problema.
Ho una piccola applicazione scritta in VBA con Access2003.
Funzionava tutto prima della reinstallazione di XP SP2 + Office 2003 (ultimo
office update aggiornato).
Ora sembra che le chiamate al comando SHELL siano interdette.
Principalmente alla pressione di un pulsante tutto quello che faceva (e
funzionava ovviamente) era
una cosa stupida tipo:
Shell "start mailto:
pi...@pluto.it
"
Ora debuggando step-by-step mi accorgo che l'esecuzione di quella riga non
fa nulla :-O
Ho provato a disabilitare il sandbox Strumenti\Macro\Protezione\Basso.
Ma la cosa non cambia.
Ho provato ad invocare direttamente il Kerne32 chiamate del tipo con:
Private Declare Function CreateProcessA Lib "kernel32" (ByVal _
   lpApplicationName As Long, ByVal lpCommandLine As String, ByVal _
   lpProcessAttributes As Long, ByVal lpThreadAttributes As Long, _
   ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long, _
   ByVal lpEnvironment As Long, ByVal lpCurrentDirectory As Long, _
   lpStartupInfo As STARTUPINFO, lpProcessInformation As _
   PROCESS_INFORMATION) As Long
...
...
Niente: non va. L'esegue e non fa nulla.
Lo stesso MDB su un'altra macchina funzia.
Indizio: Mi successe una cosa simile in un'altra "fresh install" di XP...
poi non so come tutto tornò al suo posto.
Qualche lume lo chiedo a voi che magari ci siete già sbattuti contro,
Grazie per ogni aiuto,
AlGOr


author: Gaspare

text:
"¯`·.¸.·´¯ AgoGuz ¯`·.¸.·´¯" <
ago...@gmail.com
> ha scritto nel messaggio
news:Zfcke.10355$Jd....@tornado.fastwebnet.it...

Ciao,
in merito al fatto che la chiamata al comando "Shell" non funzione non sò
cosa dirti nulla in merito ma se il tuo scopo è spedire una email, avviare
un'applicazione, lanciare una stampa etc...puoi utilizzare la funzione
"ShellExecute" delle Api di windows nel seguente modo:
-------------
Sezione generale del form
--------------
Option Compare Database
Dim destinatario As String
Dim oggetto As String
Dim testo As String
Private Declare Function ShellExecute Lib "shell32.dll" Alias
"ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal
lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String,
ByVal nShowCmd As Long) As Long
-----------------------------
Private Sub Pulsante_Click()
Dim ritorno As Long
testo = "testo della email"
oggetto = "oggetto della email"
destinatario = "
pi...@pluto.it
"
ritorno = ShellExecute(Me.hWnd, "Open", "mailto:" & destinatario &
"?subject=" & oggetto & "&body=" & testo, vbNullString, vbNullString,
SW_HIDE)
End Sub
-------------------
Se funziona e se vuoi utilizzare questa funzione (o cmq documentarti su
altre funzioni...) trovi ampia documentazione sul sito
http://members.xoom.virgilio.it/CesareRizzi/
Buona giornata
Gaspare


author: Alessandro Baraldi

text:
"¯`·.¸.·´¯ AgoGuz ¯`·.¸.·´¯" <
ago...@gmail.com
> wrote in message
news:Zfcke.10355$
Jd....@tornado.fastwebnet.it
[CUT]
>
> Shell "start mailto:
pi...@pluto.it
"
>
[CUT]
>
> Qualche lume lo chiedo a voi che magari ci siete già sbattuti contro,
> Grazie per ogni aiuto,
> AlGOr
Lasci aperdere le API per il processo, non lanciano un'esecuzione,
hai letto SDK prima...?
Eventualmente era da usare ShellExecute.
Shell "cmd /c start mailto:
vbma...@pandora.be
?subject=Info"
Call ShellExecute(0, "open", "mailto:
vbma...@pandora.be
?subject=Info",
vbNullString, vbNullString, 1)
Saluti
@Alex
--
Posted via Mailgate.ORG Server -
http://www.Mailgate.ORG


author: ¯`·.¸.·´¯ AgoGuz ¯`·.¸.·´¯

text:
> Ciao,
> in merito al fatto che la chiamata al comando "Shell" non funzione
> non sò cosa dirti nulla in merito ma se il tuo scopo è spedire una
> email, avviare un'applicazione, lanciare una stampa etc...puoi
> utilizzare la funzione "ShellExecute" delle Api di windows nel
Era invece la risposta che speravo di ottenere...
Non riesco a sciogliere questo rompicapo...
> ritorno = ShellExecute(Me.hWnd, "Open", "mailto:" & destinatario &
> "?subject=" & oggetto & "&body=" & testo, vbNullString, vbNullString,
> SW_HIDE)
Correggi SW_HIDE (non precedentemente definita) con "1" come suggeriva
Alessandro, anche.
Provato, quindi, ma non fa assolutamente nulla.
il TRACE di passa attraverso senza battere ciglio e nulla accade.
E' come se le chiamate a Shell fossero "bloccate"/"filtrate".
Ora provo a disabilitare AVirus e Firewall...
mi è rimasta solo quella come ipotesi.
AlGOr


author: ¯`·.¸.·´¯ AgoGuz ¯`·.¸.·´¯

text:
[CUT]
> Provato, quindi, ma non fa assolutamente nulla.
> il TRACE di passa attraverso senza battere ciglio e nulla accade.
> E' come se le chiamate a Shell fossero "bloccate"/"filtrate".
> Ora provo a disabilitare AVirus e Firewall...
> mi č rimasta solo quella come ipotesi.
Niente.
Disabilitando AV e FW non cambia nulla...
Disinstallo O2003 e lo reinstallo, nel tardo pomeriggio.
(Odio arrendermi a chi critica prodotti MS quando fanno cosě...
ma alla fine č vero: non avere il controllo totale di cosa accade
e perchč č sempre un problema)
Se a qualcuno gli si accende una *lampadina* sulle possibili
cause della (parrebbe) mancata interazione con Shell32, faccia
un fischio.
AlGOr


text:
"¯`·.¸.·´¯ AgoGuz ¯`·.¸.·´¯" <
ago...@gmail.com
> ha scritto nel messaggio
news:inlke.11284$Jd....@tornado.fastwebnet.it...
> [CUT]
>
>> Provato, quindi, ma non fa assolutamente nulla.
>> il TRACE di passa attraverso senza battere ciglio e nulla accade.
>> E' come se le chiamate a Shell fossero "bloccate"/"filtrate".
>> Ora provo a disabilitare AVirus e Firewall...
>> mi è rimasta solo quella come ipotesi.
>
> Niente.
> Disabilitando AV e FW non cambia nulla...
> Disinstallo O2003 e lo reinstallo, nel tardo pomeriggio.
> (Odio arrendermi a chi critica prodotti MS quando fanno così...
> ma alla fine è vero: non avere il controllo totale di cosa accade
> e perchè è sempre un problema)
> Se a qualcuno gli si accende una *lampadina* sulle possibili
> cause della (parrebbe) mancata interazione con Shell32, faccia
> un fischio.
>
> AlGOr
>
Ciao,
il mio era solo 1 esempio "banale" per cercare di "scandire" più a fondo il
problema -> lascia perdere le Api se non ti interessano...la mia è una
"distorsione personale" giacchè sfrutto le funzioni di sistema quando
posso....
Perchè non provi a richiamare la funzione (Api) da un'altro applicativo
Microsoft invece di disinstallare ed installare Access?
Ti consiglio di utilizzare quest'espediente perchè penso che "qualcosa"
(protezioni etc...)  non ti faccia comunicare con i file dll del
sistema...tutto qui!
Gaspare


author: ¯`·.¸.·´¯ AgoGuz ¯`·.¸.·´¯

text:
Gaspare wrote:
[cut]
> Perchè non provi a richiamare la funzione (Api) da un'altro
> applicativo Microsoft invece di disinstallare ed installare Access?
>
> Ti consiglio di utilizzare quest'espediente perchè penso che
> "qualcosa" (protezioni etc...)  non ti faccia comunicare con i file
> dll del sistema...tutto qui!
OK, dopo varie prove (vedi orario di post...) install &disinstall
alla fine scopro che una buona parte delle cause era (è) Kaspersky
che blocca ogni azione verso Shell (buona cosa... magari chiedere... :-#
grrr)
Ok, ora ho "superato" il problema *dialogo* con shell32.dll
pare interagire....
La novità? :-O
Il mio bel vecchio e semplice codice NON funziona.
NON trova il file "START"... :-? :-| :-O
Nel senso che la mi riga di comando era:
Shell "start mailto:" & Trim(email) & "?subject=""Pagamento Articolo [" &
articolo & "]""&body=""" & TestoEmail & """ "
ed ha sempre funzionato alla perfezione...
Ora se l'eseguo mi dice
 "Errore di runtime 53 (Impossibile trovare il file)"
come se cercasse di eseguire un file/batch di nome START e questo non gli
piace.
Infatti se antepongo "CMD /C ..." il tutto parte (con i problemi
seguenti)...
Come è possibile che una semplice chiamata a shell "start
mailto:
pi...@pluto.it
" rompa le **?
(e soprattutto se prima del format funzionava perfettamente!)
Comunque, ora il problema è le virgolette... la mia email è "bella lunga" ed
ora non mi riesce
fargli lanciare un semplice mailto del tipo
start mailto:
i...@tu.com
?subject="prima parola seconda parola"?body="bla1 bla2
bla3"
Naturalmente non vorrei che appaiano nel subject le virgolette, idem nel
body.
Qualche dritta? sto rinco°°°°ndo!
grazie,
AlGOr


author: ¯`·.¸.·´¯ AgoGuz ¯`·.¸.·´¯

text:
[cut]
> fargli lanciare un semplice mailto del tipo
> start mailto:
i...@tu.com
?subject="prima parola seconda
> parola"?body="bla1 bla2 bla3"
> Naturalmente non vorrei che appaiano nel subject le virgolette, idem
> nel body.
Ok, ho dedotto che sostituire %20 agli spazi mi risolve il discorso subject
ma il body non ne vuole sapere.
Che mi dite? (io vň a letto ora...)
AlGOr
PS:
Ma la cosa + assurda č la domanda che mi rituona nella testa: č 4 mesi che
usavo il mio codice senza
tutto sto casino e funzionava semplicemente come vi avevo detto.
Come mai CMD (o chi per lei) ora si comporta cosě?


title: dati sottomaschera non visualizzati

author: cio

text:
ciao
con A2000 sto cercando di realizzare una sottomaschera che, per ogni record
della maschera principale, mi consenta di inseire nella sottomaschera.delle
date, dei commenti ecc...
Ho creato 2 Tabelle:
Tabella 1 per i dati principali
Tabella 2 per i dati in di sottomaschera.
Ho creato Maschera 1 per i dati di Tabella 1.
Per creare la sottomaschera di Tabella 2 ho provato sia a crearla inserndola
direttamente dal bottone "inserisci Sottomaschera" sia direttamente da
Tabella 2 sia creando una Maschera 2 dedicata.
Il problema � che mi fa correttamente inserire per ogli record i dati ed in
Tabella 2 me li ritrovo ma se Sfoglio in visualizzazione Maschera 1 con la
sottomaschera non me li visualizza pi�.
In sostanza non collega i dati di Tabella 2 con quelli di Tabella 1, ovvero
quanto inserisco nella sottomaschera non � in alcun modo collegato al record
di riferimento... come posso fare?
Grazie 1000
cio


title: dati sottomaschera non visualizzati

author: TheMax

text:
On 21 Ott, 10:24, "cio" <
c...@cio.it
> wrote:
> ciao
>
> con A2000 sto cercando di realizzare una sottomaschera che, per ogni record
> della maschera principale, mi consenta di inseire nella sottomaschera.delle
> date, dei commenti ecc...
>
> Ho creato 2 Tabelle:
>
> Tabella 1 per i dati principali
> Tabella 2 per i dati in di sottomaschera.
>
> Ho creato Maschera 1 per i dati di Tabella 1.
>
> Per creare la sottomaschera di Tabella 2 ho provato sia a crearla inserndola
> direttamente dal bottone "inserisci Sottomaschera" sia direttamente da
> Tabella 2 sia creando una Maschera 2 dedicata.
>
> Il problema è che mi fa correttamente inserire per ogli record i dati ed in
> Tabella 2 me li ritrovo ma se Sfoglio in visualizzazione Maschera 1 con la
> sottomaschera non me li visualizza più.
>
> In sostanza non collega i dati di Tabella 2 con quelli di Tabella 1, ovvero
> quanto inserisco nella sottomaschera non è in alcun modo collegato al record
> di riferimento... come posso fare?
>
> Grazie 1000
> cio
Ciao,
Per fare quello che vuoi tu, ci deve essere un campo in "tabella 2"
che sia la chiave esterna di "tabella 1", esempio
Clienti (tabella1)
IDCliente (Chiave primaria)
Ragione sociale ...
...
NoteCliente (tabella2)
IDNota (Chiave Primaria)
IDCliente (Chiave esterna)
testo nota ....
....
Se la struttura è come questa, esistono le relazioni corrette, anche
la creazione guidata maschera fa quello che vuoi tu.
Ciao,
Max


title: [REPOST] - Associare caselle controllo a record

author: Giulio Severini

text:
Dunque, provo a ripostare il quesito in maniera più comprensibile (ora
sono in ufficio, ho tempo :D).
Dunque, ecco la struttura del database:
frmAggiungiUtente (origine dati: tblUtenti)
|
| contiene
|
|---->Caselle di controllo (origine dati: tblMotivi)
(per caselle di controllo io intendo le checkbox che puoi anche
selezionarle tutte al contrario dei pulsanti opzione)
Devo per forza usare caselle di controllo per esplicita richiesta dei
miei utenti ed anche per coerenza nel layout della maschera.
Cmq data la struttura di cui sopra che succede:
succede che viene apera appunto frmAggiungiUtente e l'utente inizia ad
aggiungere i dati anagrafici della nuova persona da inserire nel
database. Qeusti dati vengono inseriti in controlli ovviamente
associati a tblUtenti percui tutto fila liscio: i dati vengono inseriti
automaticamente ed io infatti non gli faccio neanche confermare
l'inserimento; al limite lo eliminano subito dopo.
Poi però in frmAggiungiUtente giungono alla selezione dei motivi per i
quali la persona si è rivolta allo sportello. Questi motivi sono
appunto delle etichette associate a delle caselle di controllo. Queste
caselle di controllo hanno come origine record i campi della tabella
tblMotivi, ovviamente NON associata a frmAggiungiUtente.
La tblMotivi è così strutturata (per ora):
idMotivo
Motivo
ma a quanto pare devo cambiarla in:
idMotivo - chiave primaria, contatore
idUtente - chiave esterna, numerico
Motivo
e qui casca l'asino.
Il campo Motivo di che tipo deve essere? E, appunto, come lo associo
alle caselle di controllo. La logica mi fa pensare che io non debba
inserire un campo Motivo ma più campi, ognuno per una casella di
controllo, in modo che la tabella diventi:
idSerieMotivi - contatore, chiave primaria
idUtente - numerico - chiave esterna
Motivo1 - SI/NO formato VERO/FALSO
Motivo2 - SI/NO formato VERO/FALSO
...
Motivo7 - SI/NO formato VERO/FALSO
e selezionare i sette campi come origine dati delle sette caselle di
controllo.
Poi....poi ecco posso usare la query suggerita da Ale...e collegare
quindi l'utente corrente con la giusta 'serie' di opzioni in modo che
risulti che:
1. per l'utente PIPPO siano selezionati i motivi 1 - 3 - 4
2. per l'utente PLUTO siano selezionati i motivi 2 - 3 - 5 - 6
e così via...
Quindi, è qeusto il mio piccolo bel problema.
Spero di essere stato chiaro :D. Se cosi non è stato, chiedo venia ma
sono quasi 3 gg che nn dormo.
Buona giornata e buon lavoro :)


text:
Giulio Severini ha scritto:
> Dunque, provo a ripostare il quesito in maniera piů comprensibile (ora
> sono in ufficio, ho tempo :D).
> Dunque, ecco la struttura del database:
> frmAggiungiUtente (origine dati: tblUtenti)
> |
> | contiene
> |
> |---->Caselle di controllo (origine dati: tblMotivi)
> (per caselle di controllo io intendo le checkbox che puoi anche
> selezionarle tutte al contrario dei pulsanti opzione)
> Devo per forza usare caselle di controllo per esplicita richiesta dei
> miei utenti ed anche per coerenza nel layout della maschera.
> Cmq data la struttura di cui sopra che succede:
> succede che viene apera appunto frmAggiungiUtente e l'utente inizia ad
> aggiungere i dati anagrafici della nuova persona da inserire nel
> database. Qeusti dati vengono inseriti in controlli ovviamente
> associati a tblUtenti percui tutto fila liscio: i dati vengono inseriti
> automaticamente ed io infatti non gli faccio neanche confermare
> l'inserimento; al limite lo eliminano subito dopo.
> Poi perň in frmAggiungiUtente giungono alla selezione dei motivi per i
> quali la persona si č rivolta allo sportello. Questi motivi sono
> appunto delle etichette associate a delle caselle di controllo. Queste
> caselle di controllo hanno come origine record i campi della tabella
> tblMotivi, ovviamente NON associata a frmAggiungiUtente.
> La tblMotivi č cosě strutturata (per ora):
> idMotivo
> Motivo
> ma a quanto pare devo cambiarla in:
> idMotivo - chiave primaria, contatore
> idUtente - chiave esterna, numerico
> Motivo
> e qui casca l'asino.
> Il campo Motivo di che tipo deve essere? E, appunto, come lo associo
> alle caselle di controllo. La logica mi fa pensare che io non debba
> inserire un campo Motivo ma piů campi, ognuno per una casella di
> controllo, in modo che la tabella diventi:
> idSerieMotivi - contatore, chiave primaria
> idUtente - numerico - chiave esterna
> Motivo1 - SI/NO formato VERO/FALSO
> Motivo2 - SI/NO formato VERO/FALSO
> ...
> Motivo7 - SI/NO formato VERO/FALSO
> e selezionare i sette campi come origine dati delle sette caselle di
> controllo.
> Poi....poi ecco posso usare la query suggerita da Ale...e collegare
> quindi l'utente corrente con la giusta 'serie' di opzioni in modo che
> risulti che:
> 1. per l'utente PIPPO siano selezionati i motivi 1 - 3 - 4
> 2. per l'utente PLUTO siano selezionati i motivi 2 - 3 - 5 - 6
> e cosě via...
> Quindi, č qeusto il mio piccolo bel problema.
> Spero di essere stato chiaro :D. Se cosi non č stato, chiedo venia ma
> sono quasi 3 gg che nn dormo.
> Buona giornata e buon lavoro :)
dim cTB as Access.ToggleButton
L'istruzione seguente non posso usarla perchč ci sono altri controlli
interruttore sulla maschera che non hanno a che fare con quei sette.
For each cTB in Me.Controls
If ctl.Value=True then
Questa istruzione dice di aggiungere alla tabella tblMotivoContatto dei
record dove:
nel campo Campo_ID_UTENTE ci va Me.ID_UTENTE
nel campo Motivo ci va ctl.Name
la parola chiave VALUES specifica quali valori inserire, e ha per
argomento Me.ID_UTENTE e
ctl.name
CurrentDb.Execute "INSERT INTO tblMotivoContatto " & _
"(Campo_ID_UTENTE,Motivo) " &
"VALUES (" & Me.ID_UTENTE & ",'" &
ctl.Name & "');"
End if
Next
Ho interpretato correttamente? Allora, data la tabella tblMotivoContatto
cosě strutturata:
idMotivo - contatore, chiave primaria
idUtente - numerico, chiave esterna
Motivo - testo
la stringa di cui sopra diventa:
CurrentDb.Execute "INSERT INTO tblMotivoContatto " & _ "(idUtente, Motivo)
" & "VALUES (" & Me.idUtente & ",'" & ctl.Name & "');"
a patto che:
gli interruttori abbiano lo stesso nome del motivo visualizzato
e che Me.idUtente faccia riferimento al campo idUtente della tabella
tblUtenti associata a frmAggiungiUtente.
Ho interpretato correttamente?
Grazie.
--
Non avere mai pura dei momenti bui perchč, facci caso, anche le stelle
hanno bisogno della notte per brillare.
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news
 segnala gli abusi ad
ab...@newsland.it


author: MA

text:
Giulio Severini wrote:
> Dunque, provo a ripostare il quesito in maniera più comprensibile (ora
> sono in ufficio, ho tempo :D).
troppo facile la battuta su quanto lavorate...

--
_ _
Ciao
MAssimiliano Amendola
www.accessgroup.it
Cisa1 - I° Conferenza Italiana per Sviluppatori Access Arezzo 4+5
Giugno 2005 Sono aperte le iscrizioni  Info:
www.donkarl.com/it


text:
Giulio Severini wrote:
> Dunque, provo a ripostare il quesito in maniera più comprensibile (ora
> sono in ufficio, ho tempo :D).
>
> Dunque, ecco la struttura del database:
>
> frmAggiungiUtente (origine dati: tblUtenti)
>>
>> contiene
>>
>> ---->Caselle di controllo (origine dati: tblMotivi)
>
> (per caselle di controllo io intendo le checkbox che puoi anche
> selezionarle tutte al contrario dei pulsanti opzione)
>
> Devo per forza usare caselle di controllo per esplicita richiesta dei
> miei utenti ed anche per coerenza nel layout della maschera.
>
> Cmq data la struttura di cui sopra che succede:
>
> succede che viene apera appunto frmAggiungiUtente e l'utente inizia ad
> aggiungere i dati anagrafici della nuova persona da inserire nel
> database. Qeusti dati vengono inseriti in controlli ovviamente
> associati a tblUtenti percui tutto fila liscio: i dati vengono
> inseriti automaticamente ed io infatti non gli faccio neanche
> confermare l'inserimento; al limite lo eliminano subito dopo.
>
> Poi però in frmAggiungiUtente giungono alla selezione dei motivi per i
> quali la persona si è rivolta allo sportello. Questi motivi sono
> appunto delle etichette associate a delle caselle di controllo. Queste
> caselle di controllo hanno come origine record i campi della tabella
> tblMotivi, ovviamente NON associata a frmAggiungiUtente.
>
> La tblMotivi è così strutturata (per ora):
Allora non credo tu debba confondere i motivi per le due tabelle.
Tu sovrapponi il concetto della tabella che ti elenca i motivi e quella di
raccolta dei motivi.
la cosa può essere gestita in diversi modi.
nella tabella degli uetnti prevedi tanti campi quanti sono i possibili
motivi intercetti il click sul non controllo che vuoi
e ci ficchi nel campo motivo correlato il valore che vuoi.
if me.CheckSonoDisperato = - 1 then me.motivoSonodisperato = "Juventino":
else me.motivoSonoDiperato = "Forza NApoli" : end if
etc..
In realtà questo sarebbe pane per WithEvents, ma abbiamo sottoscritto il
patto di non divulgazione... scherzo ovviamente.
Oppure puoi crearti una tabella a parte Motiviscelti
idMotivo
Rif_Id che lega alla tabella principale
motivo
e su click aggiungi un record aprendo il recordset
Come vuoi fare?



text:
"Giulio Severini" <
giulio....@ministero.difesa.it
> wrote in message
news:d8188r$l9s$
1...@news.newsland.it
[CUT]
> dim cTB as Access.ToggleButton
>
> L'istruzione seguente non posso usarla perchè ci sono altri controlli
> interruttore sulla maschera che non hanno a che fare con quei sette.
>
> For each cTB in Me.Controls
>
> If ctl.Value=True then
Puoi usarla, se come ti ho scritto in un post inerente usi
la proprietà TAG:
For each cTB in Me.Controls
  If cTB.TAG="CONDIZIONI" And cTB.Value=True then
............
> Questa istruzione dice di aggiungere alla tabella tblMotivoContatto dei
> record dove:
>
> nel campo Campo_ID_UTENTE ci va Me.ID_UTENTE
> nel campo Motivo ci va ctl.Name
>
> la parola chiave VALUES specifica quali valori inserire, e ha per
> argomento Me.ID_UTENTE e
ctl.name
>
> CurrentDb.Execute "INSERT INTO tblMotivoContatto " & _
> "(Campo_ID_UTENTE,Motivo) " &
> "VALUES (" & Me.ID_UTENTE & ",'" &
> ctl.Name & "');"
> End if
> Next
> Ho interpretato correttamente? Allora, data la tabella tblMotivoContatto
> così strutturata:
Esatto.

> idMotivo - contatore, chiave primaria
> idUtente - numerico, chiave esterna
> Motivo - testo
Configurazione sbagliata.
Sevirebbe una Tabella Motivo con solo IDMotivo e Motivo
ed una Tabella di Dettaglio con IdMotivo ed IdUtente
per realizzare una struttura MOlti---Molti, finchè
invece di partire a testa bassa con sbrodolate di CODICE
che poi non scrivi nemmeno tu, e che hai difficoltà a
capire se sono realmente la cosa giusta, non freni e ti metti
a studiare la NORMALIZZAZIONE dei Database la tua comprensione
di Access sarà sempre meno efficiente e sempre più legata a
Routine assurde per risolvere ERRORI di struttura come in questo
caso.
> la stringa di cui sopra diventa:
>
> CurrentDb.Execute "INSERT INTO tblMotivoContatto " & _ "(idUtente, Motivo)
> " & "VALUES (" & Me.idUtente & ",'" & ctl.Name & "');"
No,perchè mancha idMotivo, la struttura non và bene.
> a patto che:
>
> gli interruttori abbiano lo stesso nome del motivo visualizzato
> e che Me.idUtente faccia riferimento al campo idUtente della tabella
> tblUtenti associata a frmAggiungiUtente.
>
> Ho interpretato correttamente?
Si, ma devi applicare una corretta strutturazione delle
Tabelle, e questo normalmente si fà lavorandoci un pò
prima di vomitare codice.
> Grazie.
Scusa la freddezza Giulio, ma personalmente sei partito
con il piede sbagliato, ora non sò se puoi tornare indietro
ma credo sia OBBLIGATORIO.
Impara a strutturare un DB, poi il codice ti accorgi che
è spesso superfluo....!
Saluti
@Alex
--
Posted via Mailgate.ORG Server -
http://www.Mailgate.ORG


text:
Ciao Ale, grazie per la risposta.
Non ti preoccupare per la freddezza, la sincerità è sempre la strada
giusta :)
La normalizzazione mi è chiara, credimi. Il mio problema è che non ho
avuto e non ho il tempo per stare fermo a studiare: queste persone
vogliono il database subito e io - che ho ripreso Access da poco dopo
cinque anni - sono a farlo da solo...è questo il problema.
Cmq tornando a noi: penso che a questo punto, per dargli una cosa
usabile da *subito* io seguirò il suggerimento di MA e creerò dei
campi SI/NO all'interno di tblUtenti e associerò questi campi agli
interruttori. Molto rozza come cosa, ma tanto a loro non frega nulla di
come io abbia implementato la cosa, basta che funzioni. Nel frattempo,
adesso si, avrò modo di capire qual è la strada giusta.
Per quanto riguarda le relazioni tra le tabelle: perchè deve venir
fuori una relazione Molti-a-molti con in mezzo una tabella di
collegamento? Io ho messo in relazione tblUtenti e tblMotivoContatto
tramite idUtente ed è venuta fuori, appunto, una relazione Uno-a-molti
con l'integrità referenziale. Non va bene?
Concludo: chiedo scusa, penso di dare l'impressione di uno cui non
frega imparare e fare bene le cose. Non è così. Sto in una situazione
DISPERATA, ho saputo Sabato che comunque andranno le cose Io e tutti
gli altri esterni saremo fatti fuori dall'Ente alla fine di Giugno,
quando ci scadrà il contratto. Con questo database posso solo sperare
di durare anche a Luglio, ma sarebbe manna dal cielo. Verranno fatti
fuori anche sei dipendenti. Questo database, oltre forse a darmi un
mese lavorativo in più, lo potrò usare come Demo da presentare alle
aziende quando presenterò richiesta di assunzione. Perchè, ora che ci
penso, devo muovermi fin da ora a trovarmi un nuovo posto di lavoro.
Perciò non guardatemi male, vi prego, quando faccio così ma è la
situazione che sto passando a spingermi a comportarmi in questo modo.
Grazie!!


text:
MA, non ho capito la seconda parte:
come struttureresti tu la tabella tblMotivoContatto? E RIF_Id sarebbe
il controllo Id nascosto presente nella form frmSchedaPrimoContatto e
che ha come origine idUtente della tabella tblUtenti?


text:

Prova a mandarlo che ci do un'occhiata da vicino e posso eguirti meglio



text:
Giulio Severini wrote:
> Via posta elettronica? Che indirizzo hai?
>
> Grazie :)
il mio indirizzo è in chiaro



text:
MA wrote:
> Giulio Severini wrote:
>> Via posta elettronica? Che indirizzo hai?
>>
>> Grazie :)
>
> il mio indirizzo è in chiaro
cmq
master   at massimiliano amendola  . it



text:
Ciao MA, ti ho inviato il database.
A presto.


title: PF una spinta grazie !

author: Fabio Valsangiacomo

text:
Ciao a tutti

So che sul sito comune oppure su Karl c'è una
soluzione al mio quesito, ma non riesco a trovarla

Devo generare una numero di decisione progressivo
del tipo AAAA.nnn (2006.001) che naturalmente il fattore "nnn" deve
azzerarsi

al cambio anno

Mi date una prima spinta PF, lascio le pedate per
dopo :-)

Grazie

Fabio


title: PF una spinta grazie !

author: cidi

text:
"Fabio Valsangiacomo" <
fa...@valsangiacomo.org
> ha scritto nel messaggio
news:43f75f88$0$19497$5402...@news.sunrise.ch...
Ciao a tutti

Grazie
Fabio
Ciao Fabio
in questo NG non si usa rispondere a post con oggetto simile al tuo.
leggi il post di Roberto su come comportarsi in questo newsgroup.
cerca sul sito comune la faq 6.17 numerazione crescente per fatture e altro
e riposta, con un oggetto adeguato, la soluzione che trovi, potrà servire ad
altri.
Daniele


title: PF una spinta grazie !

text:
"cidi" <
dadonz...@tin.it
> ha scritto nel messaggio news:43f7681e$0$5993$4faf...@reader2.news.tin.it...
>
> >"Fabio Valsangiacomo" <
fa...@valsangiacomo.org
> ha scritto nel messaggio
> >news:43f75f88$0$19497$5402...@news.sunrise.ch...
> >Ciao a tutti
>
> >So che sul sito comune oppure su Karl c'è una soluzione al mio quesito, ma
> >non riesco a trovarla
> >
>> Grazie
>
> Fabio
>
>
> Ciao Fabio
> in questo NG non si usa rispondere a post con oggetto simile al tuo.
>
Hai ragione
io non cercavo però la pappa pronta
sapevo che esisteva già un esempio ma non riuscivo a trovarlo
Spero di non aver offeso nessuno con questa richiesta, caso mai mi spiace
Grazie comunque della segnalazione
Fabio
> Daniele
>
>


title: aiuto mysql

author: Alessandra Marino

text:
salve non riesco a risolvere questa query in modo corretto, mi prende la data corretta ma le generalità del dipendente e il reparto dove lavora me li riporta errati e non capisco il perchè. Volevo inoltre chiedere, se il dipendente in questione risulta deceduto dalla tabella generale, può influire con il risultato finale della query?. Grazie.

#Considerando i dipendenti ancora in carica, si trovi quello che e' in carica da meno tempo. Si scrivano le generalità, il reparto dove lavora, la sua età e la durata del periodo lavorativo in mesi:
select g.nome, g.cognome, g.codice_fisc, r.codice as reparto, round(datediff(d.data_assunzione,g.nascita)/365.25) as eta,  max(d.data_assunzione)  as ultimo_dip,
round(d.data_assunzione/30.25) as mesi_lav
from generale g, reparti r, dipendenti d
where g.codice_fisc=d.codice_fisc and r.codice=d.reparto and d.data_dimissione is null

PS: ho messo max perché con  la min selezionava la data errata, in questo modo seleziona la data più recente. Per il /30.25 e 365.25, l'insegnante faceva così durante il corso per la conversione mese e anno. Grazie ancora.


title: aiuto mysql

text:
Il 17/02/2024 18:59, Alessandra Marino ha scritto:
> salve non riesco a risolvere questa query in modo corretto, mi prende la data corretta ma le generalità del dipendente e il reparto dove lavora me li riporta errati e non capisco il perchè. Volevo inoltre chiedere, se il dipendente in questione risulta deceduto dalla tabella generale, può influire con il risultato finale della query?. Grazie.
>
> #Considerando i dipendenti ancora in carica, si trovi quello che e' in carica da meno tempo. Si scrivano le generalità, il reparto dove lavora, la sua età e la durata del periodo lavorativo in mesi:
> select g.nome, g.cognome, g.codice_fisc, r.codice as reparto, round(datediff(d.data_assunzione,g.nascita)/365.25) as eta,  max(d.data_assunzione)  as ultimo_dip,
> round(d.data_assunzione/30.25) as mesi_lav
> from generale g, reparti r, dipendenti d
> where g.codice_fisc=d.codice_fisc and r.codice=d.reparto and d.data_dimissione is null
>
>

intanto :
round(datediff(d.data_assunzione,g.nascita)/365.25) as eta

non ha senso, ti da la differenza tra la data di nascita e quella di
quando è stato assunto...

poi non capisco perchè nome e cognome tu li prendi da generale e non da
dipendenti. in un db normalizzato tutti i dati del dipendente dovresti
averli in dipendenti

poi round(d.data_assunzione/30.25) as mesi_lav non ti da i mesi lavorati...
i mesi lavorati li hai facendo la differenza tra data odierna e data
assunzione specificando che vuoi il risultato in mesi

TIMESTAMPDIFF(MONTH,CURDATE(), d.data_assunzione);

 > Per il /30.25 e 365.25, l'insegnante faceva così durante il corso per
la conversione mese e anno.

insegnante di cosa? non ha senso questa divisione "a caso"

BFS


title: aiuto mysql

text:

salve, allora purtroppo le generalità come nome, cognome e nascita sono solo nella  tabella generale, in tutte le altre tabelle è presente solo il codice fiscale. Poi per la conversione in mesi o anni durante il corso si è usata sempre la divisione per 365.25 o 30.25. Grazie ora riproverò con questa soluzione.


title: VT - Disabilitare tasto shift - per utente non amministratore error 3033

author: esseAemme

text:
Buongiorno NG,
Buongiorno Vicenzo :)
ho un problema. Tempo fa ho attivato la macro per disabilitare il
tasto shift all'avvio del programma, rinominandola come AUTOEXEC.
Solo che quando un utente lo apre,  ottiene l'errore:
"3033 - Non si dispone delle autorizzazioni necessarie per uutilizzare
l'oggetto "MSysDB". Per disporre delle autorizzzazioni appropriate,
rivolgersi all'amministratore del sistema o all'autore dell'oggetto."
Sto facendo dei test, e dalla mia macchina se entro con mia
credenziale di amministratore tutto va enon mi da messaggi, ma se
entro come uno degli utenti, ha quell'errore. Però l'operatività non è
compromessa, ll'utente riesce a lavorare. Come posso fare sparire
questo messaggio?
Ho provato a cambiare i vari diritti di accesso agli oggetti del
database, da sola apertura/esecuzione + lettura  a  completa
amministrazione... ma l'errore rimane!
Cosa mi consigli?
Dove sto sbagliando?
Grazie infinite
Samantha


author: VT @ home

text:
Il Thu, 26 Jul 2007 07:48:09 -0700, esseAemme <
samanth...@gmail.com
> ha scritto:
>(.....)
Ahi ahi ahi !!!
Non sta bene postare sul NG richieste indirizzate specificamente a qualcuno !
Comunque ora non ho tempo: tenterò di darti una risposta in serata o al più tardi domattina
Vincenzo Turturro
Certificato Eucip Core Level
ITA 0000-002299 del 14/05/2007
---------------------------------------------
il sito comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------
risorse Access:
http://www.accessgroup.it
---------------------------------------------
Il sito comune di it.comp.as400
http://www.faq400.com
---------------------------------------------


text:
VT @ home ha scritto:

Giorno Vincenzo,
ma VT non è un nome in codice?  O mio DIO ci hanno scoperti...  ;)
scherzi a parte hai ragione!!!
Avevamo parlato in un altro post della protezione utente, e ci tenevo
che vedessi il mio post,
Buon lavoro
Samantha


author: VT @ Work

text:
On Thu, 26 Jul 2007 07:48:09 -0700, esseAemme
<
samanth...@gmail.com
> wrote:
>Buongiorno NG,
>
>Buongiorno Vicenzo :)
>
>ho un problema. Tempo fa ho attivato la macro per disabilitare il
>tasto shift all'avvio del programma, rinominandola come AUTOEXEC.
>
>Solo che quando un utente lo apre,  ottiene l'errore:
>"3033 - Non si dispone delle autorizzazioni necessarie per uutilizzare
>l'oggetto "MSysDB". Per disporre delle autorizzzazioni appropriate,
>rivolgersi all'amministratore del sistema o all'autore dell'oggetto."
>Sto facendo dei test, e dalla mia macchina se entro con mia
>credenziale di amministratore tutto va enon mi da messaggi, ma se
>entro come uno degli utenti, ha quell'errore. Per=F2 l'operativit=E0 non =
>=E8
>compromessa, ll'utente riesce a lavorare.
Posta *tutto* il codice che hai usato per disabilitare il tasto shift:
l'errore potrebbe dipendere da uno dei parametri specificati
nell'istruzione di settaggio della proprietà del db.
>Come posso fare sparire questo messaggio?
>Ho provato a cambiare i vari diritti di accesso agli oggetti del
>database, da sola apertura/esecuzione + lettura  a  completa
>amministrazione... ma l'errore rimane!
>
>Cosa mi consigli?
>
>Dove sto sbagliando?
>
>Grazie infinite
>Samantha
>
Vincenzo Turturro



text:
VT @ Work ha scritto:

Questo è il contenuto di modulo 3:
Function byPassKeyAdmin(bolVal As Boolean, Optional strMDB As String)
As Boolean
 'Autore: sconosciuto
 'Modificato da Federico Luciani
 'Accetta:
 ' bolVal = True: abilita; False: disabilita
 ' strMdb = [Opz.] percorso+nome del database
 'Restituisce: True l'operazione e' stata eseguita correttamente
    On Error GoTo ChangePropertyDdl_Err
    Dim wrk As Workspace
    Dim dbs As DAO.Database
    Dim prp As DAO.Property
    Set wrk = DBEngine.Workspaces(0)
    If strMDB = "" Then
         Set dbs = CurrentDb()
    Else
         Set dbs = wrk.OpenDatabase(strMDB)
    End If
    dbs.Properties.Delete "AllowBypassKey"
    Set prp = dbs.CreateProperty("AllowBypassKey", dbBoolean, bolVal,
True)
    dbs.Properties.Append prp
    byPassKeyAdmin = True
ChangePropertyDdl_Exit:
    Set prp = Nothing
    Set dbs = Nothing
    Set wrk = Nothing
    Exit Function
ChangePropertyDdl_Err:
    If Err.Number = 3265 Then
        Resume Next
    Else
        MsgBox Err.Number & " - " & Err.Description
    End If
    Resume ChangePropertyDdl_Exit
End Function
Poi ho creato la MACRO Autoexec dove in
Esegui codice c'è byPassKeyAdmin
e nome funzione byPassKeyAdmin(false)
Grazie ancora!!!
Samantha


text:
Prova a sostituire
Set prp = dbs.CreateProperty("AllowBypassKey", dbBoolean, bolVal, True)
con
Set prp = dbs.CreateProperty("AllowBypassKey", dbBoolean, bolVal, False)
poi, magari, facci sapere se ci ho dato ...



text:

Ciao VT,
Scusa del ritardo con cui ti rispondo.
Funziona alla grande, ma non capisco... perchè da false a true e va...
è lo stesso testo che si trova sul sito, cos'è che è cambiato??
Grazie,
Samantha


text:
On Wed, 01 Aug 2007 02:01:56 -0700, esseAemme
<
samanth...@gmail.com
> wrote:
>On 27 Lug, 15:55, "VT @ home" <
V...@home.it
> wrote:
>> Prova a sostituire
>>
>> Set prp =3D dbs.CreateProperty("AllowBypassKey", dbBoolean, bolVal, True)
>>
>> con
>>
>> Set prp =3D dbs.CreateProperty("AllowBypassKey", dbBoolean, bolVal, False)
>>
>> poi, magari, facci sapere se ci ho dato ...
>>
>> Vincenzo Turturro
>>
>> Certificato Eucip Core Level
>> ITA 0000-002299 del 14/05/2007
>> ---------------------------------------------
>> il sito comune di it.comp.appl.access:
http://www.sitocomune.com
>> ---------------------------------------------
>> risorse Access:
http://www.accessgroup.it
>> ---------------------------------------------
>> Il sito comune di it.comp.as400
http://www.faq400.com
>> ---------------------------------------------
>
>Ciao VT,
>
>Scusa del ritardo con cui ti rispondo.
>
>Funziona alla grande, ma non capisco... perch=E8 da false a true e va...
>=E8 lo stesso testo che si trova sul sito, cos'=E8 che =E8 cambiato??
Non è cambiato nulla.
Come vedi dal codice, la proprietà ogni volta viene cancellata e
ricreata.
Se, quando la proprietà viene creata, il quarto parametro è True ...
"... users can't change or delete this Property object unless they
have dbSecWriteDef permission."
In definitiva è un modo per evitare che chiunque possa alterare o
cancellare delle proprietà che magari vengono impostate proprio per
garantire la sicurezza.
Quindi o crei la proprietà con il quarto parametro False, oppure
concedi ai tuoi utenti l'autorizzazione dbSecWriteDef.
>Grazie,
>Samantha



text:

Grazie Vincenzo,
come sempre il tuo aiuto è prezioso.
Non capisco comunque perchè solo io ho avuto questo tipo di problema.
Ovvero, quali autorizzazioni hanno dato o dai tu visto che non hai
riscontrato il mio problema?
Io solitamente lascio solo Lettura struttura +
Lettura dati
Aggiornamento dati
Inserimento dati
Eliminazione dati
Modifica struttura e Amministrazione non li abilito. Tu si?
Cmq vedo che con queste autorizzazioni gli utenti lavorano sul
database e modificano i dati senza problemi.
Cmq sono contenta ora funziona tutto alla grande... e visto che si
avvicinano le vacanze avrò il tempo di capire come funzionano i
permessi... e un pò di VBA...
Hai qualche bel libro o dispensa internet da consigliarmi?
Buone vacanze anche a te!!!!
Samantha


text:
Il Thu, 02 Aug 2007 02:15:35 -0700, esseAemme <
samanth...@gmail.com
> ha scritto:
>(.....)
>Grazie Vincenzo,
>
>come sempre il tuo aiuto è prezioso.
>
>Non capisco comunque perchè solo io ho avuto questo tipo di problema.
>Ovvero, quali autorizzazioni hanno dato o dai tu visto che non hai
>riscontrato il mio problema?
>
>Io solitamente lascio solo Lettura struttura +
>Lettura dati
>Aggiornamento dati
>Inserimento dati
>Eliminazione dati
>
>Modifica struttura e Amministrazione non li abilito. Tu si?
Io sul FE lascio tutte le autorizzazioni a tutti, tanto lo distribuisco come mde e quindi nessuno può modificarlo.
Altra cosa sono le autorizzazioni sul BE, ma in questo caso non c'entrano nulla.
>Cmq vedo che con queste autorizzazioni gli utenti lavorano sul
>database e modificano i dati senza problemi.
>
>Cmq sono contenta ora funziona tutto alla grande... e visto che si
>avvicinano le vacanze avrò il tempo di capire come funzionano i
>permessi... e un pò di VBA...
>Hai qualche bel libro o dispensa internet da consigliarmi?
Guarda sul sito comune:
sez. General
6.3
6.56
6.57
6.78
6.219
>Buone vacanze anche a te!!!!
Grazie, ma niente ferie fino al 1/9, e solo una settimana !



text:
On 2 Ago, 21:08, "VT @ home" <
V...@home.it
> wrote:

Ciao Vincenzo,
grazie x le dritte!!!! Ora mi stampo il tutto!!!
Se mai ti capitasse qualsiasi necessità in tema privacy Decreto Leg.vo
196/2003 contattami pure, che in quest'ambito ti posso essere
d'aiuto!!!
D'aiuto per fare:
1)Informativa
2)Disclaimer da mettere sotto le email
3)eventuale dps ma da analizzare se ne hai necessità.
Ciao Vincenzo,
Samantha


text:
Il Fri, 03 Aug 2007 01:56:58 -0700, esseAemme <
samanth...@gmail.com
> ha scritto:
>(...)
>
>Ciao Vincenzo,
>
>grazie x le dritte!!!! Ora mi stampo il tutto!!!
>
>Se mai ti capitasse qualsiasi necessità in tema privacy Decreto Leg.vo
>196/2003 contattami pure, che in quest'ambito ti posso essere
>d'aiuto!!!
Nel senso che sei avvocato ?
>D'aiuto per fare:
>1)Informativa
Non si applica alla mia attività.
>2)Disclaimer da mettere sotto le email
Mi sembra talmente inutile ...
E poi penso che, se proprio lo si vuole mettere, andrebbe messo in testa alle mail, non in fondo !
Se si mette in fondo è ovvio che viene letto anche il testo della mail, anche solo per capire dove comincia il
disclaimer !
>3)eventuale dps ma da analizzare se ne hai necessità.
Questo magari può essere interessante.
Ne riparliamo al tuo rientro.
Grazie
>
>Ciao Vincenzo,



text:
On 3 Ago, 18:25, "VT @ home" <
V...@home.it
> wrote:
> Il Fri, 03 Aug 2007 01:56:58 -0700, esseAemme <
samantha.ci...@gmail.com
> ha scritto:
>
> >(...)
>
> >Ciao Vincenzo,
>
> >grazie x le dritte!!!! Ora mi stampo il tutto!!!
>
> >Se mai ti capitasse qualsiasi necessità in tema privacy Decreto Leg.vo
> >196/2003 contattami pure, che in quest'ambito ti posso essere
> >d'aiuto!!!
>
> Nel senso che sei avvocato ?
No non sono avvocato, ma per mestiere, dove lavoro offriamo consulenza
privacy, di cui mi occupo io dal 2003
>
> >D'aiuto per fare:
> >1)Informativa
>
> Non si applica alla mia attività.
? Si applica a tutti, fornitori e clienti in merito al tipo di
trattamento dei dati che fai, siano comuni, personali e/o
sensibili....
>
> >2)Disclaimer da mettere sotto le email
>
> Mi sembra talmente inutile ...
> E poi penso che, se proprio lo si vuole mettere, andrebbe messo in testa alle mail, non in fondo !
> Se si mette in fondo è ovvio che viene letto anche il testo della mail, anche solo per capire dove comincia il
> disclaimer !
Diciamo che torna utile in particolar modo a chi fa attività
commerciale/marketing. Per legge devi dare l'opportunità a chi scrivi
di sapere come hai avuto i suoi dati, come li tratti, chi li tratta, e
dargli in modo agevole la possibilità di farsi cancellare.
>
> >3)eventuale dps ma da analizzare se ne hai necessità.
>
> Questo magari può essere interessante.
> Ne riparliamo al tuo rientro.
> Grazie
>
A tua disposizione,
Samantha



title: accodamento senza duplicati

author: Akery

text:
buongiorno,
ho la seguente query di accodamento:

INSERT INTO class_formazione ( nome, cognome, [codice fiscale], mail,
RADRL, Categoria, Afferenza, cdl, matricola )
SELECT Sheet1.Nome2, Sheet1.Cognome, Sheet1.[Codice Fiscale],
Sheet1.[Posta elettronica], Sheet1.RADRL, Sheet1.Categoria,
Sheet1.Afferenza, Sheet1.[Corso di Laurea], Sheet1.Matricola
FROM Sheet1 LEFT JOIN formaz_dati ON Sheet1.[Codice Fiscale] =
formaz_dati.CF
WHERE (((formaz_dati.CF) Is Null));

per creare classi senza duplicati ma non funziona, cosa sto sbagliando?

Akery

--
Questa e-mail è stata controllata per individuare virus con Avast antivirus.
https://www.avast.com/antivirus


title: accodamento senza duplicati

author: Bruno Campanini

text:
Akery submitted this idea :
> buongiorno,
> ho la seguente query di accodamento:
>
> INSERT INTO class_formazione ( nome, cognome, [codice fiscale], mail, RADRL,
> Categoria, Afferenza, cdl, matricola )
> SELECT Sheet1.Nome2, Sheet1.Cognome, Sheet1.[Codice Fiscale], Sheet1.[Posta
> elettronica], Sheet1.RADRL, Sheet1.Categoria, Sheet1.Afferenza, Sheet1.[Corso
> di Laurea], Sheet1.Matricola
> FROM Sheet1 LEFT JOIN formaz_dati ON Sheet1.[Codice Fiscale] = formaz_dati.CF
> WHERE (((formaz_dati.CF) Is Null));
>
> per creare classi senza duplicati ma non funziona, cosa sto sbagliando?
>
> Akery

INSERT INTO T1 ( F1 )
SELECT F1
FROM T2
WHERE F1 Not In (SELECT F1
FROM T1;);

Questa APPEND tutti i record di T2, esclusi quelli che si trovano
già in T1.

Bruno


title: ListView...selezionare/deselezionare Items...ECCO QUA !!!

author: EnricoV.

text:
Hai ragione Maurizio...quindi ecco qua la soluzione:
Poniamo che LV si il nome dato alla ListView
Dim LV As MSComctlLib.ListView
Set LV = Me!LV.Object
Dim itm As ListItem
For Each itm In LV.ListItems
itm.Selected = False     'oppure True per selezionarli'
Next
Set itm = Nothing   'release object


author: Maurizio Borrelli

text:
> "EnricoV." [...]:
> Hai ragione Maurizio...quindi ecco qua la soluzione:
> Poniamo che LV si il nome dato alla ListView
> Dim LV As MSComctlLib.ListView
> Set LV = Me!LV.Object
    E' un po' imprudente usare, per una variabile, lo stesso nome di un
controllo...
> Dim itm As ListItem
> For Each itm In LV.ListItems
> itm.Selected = False     'oppure True per selezionarli'
> Next
> Set itm = Nothing   'release object
    Ottimo. Prova anche cosi' e dicci se funziona.
Private m_lvw1 As MSComctlLib.ListView
Private Sub Form_Load()
    Set m_lvw1 = Me.lvw1.Object
    With m_lvw1
        .View = lvwReport
        .MultiSelect = True
        .FullRowSelect = True
    End With
End Sub
Private Sub Form_Unload( _
  ByRef Cancel As Integer)
    Set m_lvw1 = Nothing
End Sub
'
' Deseleziona lvw1
'
Private Sub Command1_Click()
    DoEvents
    Me.lvw1.SetFocus
    With m_lvw1
        .MultiSelect = False
        .ListItems(1).Selected = True
        .MultiSelect = True
    End With
End Sub
--
Ciao :-)
Maurizio
--------
?SPQR(C)
 X
--------


title: problema con BeforeUpdate

author: Paolo opg

text:
sull'evento beforeupdate di una maschera, ho una routine che verifica che le
modifiche siano volute e chiede conferma.
il msg appare, con i suoi bravi bottoncini (yes/no), ma il tutto si inchioda
quando viene generato da una nuova selezione in una combo box.
mi spiego meglio:
maschera dettagli fornitore.
nell'intestazione maschera ho una combo che mi permette di selezionare il
fornitore.
modifico i dati relativi al fornitore selezionato
dalla combo scelgo un'altro fornitore
messaggio di controllo
se rispondo sì, tutto fila liscio, se dico no (e quindi cancel=true)  tutto
si blocca sulla riga in cui reimposto la prop Form.RecordSource dicendo
"impostazione di proprietà non valida"
credo che sia perchè io annullo l'evento beforeupdate, ma non posso
annullare gli eventi che si verificano dopo (modifica combo e AfterUpdate
della combo)
mi sapete dare una mano a trovare un altro modo per controllare le modifiche
alla maschera?
tia
    Paolo
--
+----
| no reply-to address available
| use the newsgroup
| tnx
+----


title: problema con BeforeUpdate

author: MegaMax

text:
> mi sapete dare una mano a trovare un altro modo per controllare le
modifiche
> alla maschera?
Io di solito faccio così
Private Sub Form_BeforeUpdate(Cancel As Integer)
If test_vari=true Then
  messaggi di errore vari per controllare i dati inseriti
End If
Select Case MsgBox("Salvare la Commessa?", vbQuestion + vbYesNoCancel +
vbDefaultButton2, "Salvataggio")
  Case vbYes
     'non fare nulla, esegue il salvataggio
  Case vbNo
     DoCmd.RunCommand acCmdUndo 'annulla le modifiche
  Case vbCancel
     Cancel = True  'resta in editing, non salva e non annulla
End Select
End Sub
ciao, max


title: eseguire una sub presente in un altra form

author: Nicolas

text:
da una form2 vorrei eseguire una sub contenuta in una form1 dichierata in
modo privato
visto che la form1 è aprta c'è un modo di richiamarla da form2 oppure
siccome è una sub privata
la posso richiamare solo da form1?
grazie.


author: Potone

text:
"Nicolas" <
nico...@email.it
> ha scritto nel messaggio
news:434e5759$0$8481$5fc...@news.tiscali.it...

La puoi richiamare dalla form esterna solo se la dichiari pubblica
Mat.


author: Sergio MAZZA

text:
"Nicolas" <
nico...@email.it
> ha scritto nel messaggio news:434e5759$0$8481$5fc...@news.tiscali.it...

Qualche messaggio fa si è parlato di questo; cercalo...
Ciao.
--
Sergio MAZZA


author: Alessandro Baraldi

text:
La puoi richiamare solo dalla Form1.
Non ho mai provato ma potresti istanziare nella Form2 un oggetto di
tipo Access.Form(dove la form è la Form1) e vedere se eseguendo un
frm.NomeSub viene eseguita...!
dim frm as Access.Form
Set frm=Forms!Form1
frm.NomeSub()
Ciao
@Alex


title: Terminal Service e Automazione Word

text:
Stavo pensando di affidarmi a un soluzione di terminal service per
condividere con mio fratellus mio database access.
Una delle funzionalià principe del DB è però quella di creare
relazioni con codice del tipo (se serve) qui sotto.
Ora mi chiedevo, molto ingenuamente: se sposto tutto su server poi le
relazioni me le crea sul server stesso (o sbaglio?).
E per portarmele in locale? oppure posso crearle direttamente in
locale, modificando il codice opportunamente?
Denghiu denghiu Yuk Yuk.
F.
________________________________________________
'Trova il nome, completo di percorso, del modello word
'("Relazione base fono626.dot" nella stessa cartella del database)
Modello = CurrentDb.Name
Modello = Left(Modello, Len(Modello) - Len(Dir(Modello))) & "Relazione
base fono626.dot"
' Apri Word
Set Wrd = CreateObject("Word.Application")
'rendi visibile la finestra di Word:
Wrd.Visible = True
'attiva Word e portalo in primo piano:
Wrd.Activate
'Apri un nuovo documento basato sul modello:
Set Doc = Wrd.Documents.Add(Modello)
'attivalo e portalo in primo piano:
Doc.Activate
____________________________________


title: Problema con Eval()

author: Panathos

text:
Buongiorno a tutti/e,
sto impazzendo su questo codice, all'esecuzione del quale Access
risponde: "impossibile trovare il nome di funzione immesso
nell'espressione". Eppure la funzione
contatti_leggi(msc as form)
esiste, pure nello stesso modulo dove sto scrivendo questo codice; se
la chiamo senza eval funziona correttamente. Dove sto sbagliando???
Dim msc As Access.Form, tipo As String, stringa As String
Set msc = [Forms]![input1]
tipo = "contatti"
stringa = tipo & "_leggi([Forms]![" & msc.Name & "])"
' chiamata alla funzione, OK
Call contatti_leggi([Forms]![input1])
' visualizza la stringa passata ad eval...
MsgBox stringa
' dovrebbe eseguire la stessa chiamata ma non va
Call Eval(tipo & "_leggi([Forms]![input1])")
Perché Eval non trova quella funzione?
ciao,
Panathos


title: Problema con Eval()

text:

Non è Eval che sbaglia ma tu...!
Se la funzione è come hai detto questa:
contatti_leggi(msc as form)
ti devi accorgere che l'oggetto da passare come parametro non è il
NOME della maschera ma l'oggetto stesso, quindi non potrà mai
funzionare, se togli Eval mi piacerebbe sapere come la chiami perchè
se passi il NomeForm la dove è previsto un oggetto Form non ci credo
nemmeno se lo vedo che funziona....!
Non è possibile usare EVAL per passare Oggetti, quindi devi modificare
la Function/Sub in modo che prenda una Stringa come NomeForm, quindi
all'interno
userai il riferimento Implicito:
Forms(NomeForm)
Ovviamente perdi la flessibilità della ricorsione.
@Alex


title: Problema con Eval()

text:
On 19 Feb, 19:32, "Alessandro Baraldi" <
ik2...@libero.it
> wrote:
> > Perché Eval non trova quella funzione?
>
> Non è Eval che sbaglia ma tu...!
Questo lo sospettavo, grazie :-)
> Se la funzione è come hai detto questa:
>
> contatti_leggi(msc as form)
>
> ti devi accorgere che l'oggetto da passare come parametro non è il
> NOME della maschera ma l'oggetto stesso, quindi non potrà mai
... e c'hai ragione, c'hai. Mi ero intestardito sulla sintassi di eval
mentre il problema stava nel fatto che la funzione accetta un oggetto
come parametro, invece di una stringa. Mi ero proprio imbarbagliato!
> funzionare, se togli Eval mi piacerebbe sapere come la chiami perchè
> se passi il NomeForm la dove è previsto un oggetto Form non ci credo
> nemmeno se lo vedo che funziona....!
Si si infatti anche nel codice che avevo postato la prima chiamata va
a buon fine, ed infatti viene passato l'oggetto maschera.
Grazie,
Panathos


title: salvare immagini da link web

author: BFS

text:
ciao ragazzi
per creare codici qr sfrutto le api di google e ottengo i codici che mi
servono per gli articoli di magazzino
es:
http://chart.apis.google.com/chart?chs=200x200&cht=qr&chl=quanto+%C3%A8+bello+lavorare+con+access
come posso in automatico salvare l'immagine del link dentro una cartella
locale del pc con nome a mia scelta? adesso è una operazione che faccio
a mano con il classico "salva con nome"
grazie dell'aiuto
BFS


title: salvare immagini da link web

text:

risolto
grazie lo stesso. se può servire:
Private Declare Function URLDownloadToFile Lib "urlmon" Alias _
"URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal _
szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As
Long
da richiamare con
returnValue = URLDownloadToFile(0, "
http://miosito.ii/miafoto
", _
"c:\x.jpg", 0, 0)
ciao BFS


title: uso corretto di Opneargs

author: Alberto Luzi

text:
Salve!
su doppio clik pulsante ho:
dim mVar as variante
 mVar =
Me.Parent.Name
 & "|" & Me!CboProdotto
 DoCmd.OpenForm "M_Prodotti", , , , , acDialog, mVar

Ora se imposto IdCtl as integer ho errore
mentre come string no, ma credo che non sia corretto
    Dim strFrm As String, idCtl As String

    If Not IsNull(Me.OpenArgs) Then
      strFrm = Split(Me.OpenArgs, "|")(0)
      IdCtl = Split(Me.OpenArgs, "|")(1)
    End If

    If strFrm = "MOrdini" Then
        ecc..
    End If

    If IdCtl > "" Then
      Me.Recordset.FindFirst "IdProdotto = " & idCtl
    Else
      DoCmd.GoToRecord , , acNewRec
    End If

grazie


title: uso corretto di Opneargs

text:

aggiungo ...
ho errore se Me!CboProdotto è su record vuoto
e anche con nz(Me!CboProdotto) ho errore


title: uso corretto di Opneargs

text:
Il giorno venerdì 22 gennaio 2021 alle 11:05:49 UTC+1 Alberto Luzi ha scritto:

Il Dato restituito in quel caso dallo Split è Variant(String) quindi non va bene.
Eventualmente: IdCtl = Cint(Split(Me.OpenArgs, "|")(1))

Tuttavia se quello che passi è un IDCounter, userei LONG.

Eppure qualche cazzaro, non dichiara nulla così non ha errori...

@Alex


title: uso corretto di Opneargs

text:
Vuoto = NULL ed Integer, nè LONG non supporta NULL.
Quindi o dichiari Variant o metto un NZ(Me!CboProdotto, -1) e gestisci il -1 come valore non valido.

@Alex


title: uso corretto di Opneargs

text:

grazie Alex
ha senso questo codice?
con due
if Not IsNull(Me.OpenArgs) Then



title: uso corretto di Opneargs

text:
Certo, teoricamente, ma non nel tuo caso in quanto OpenArgs avrà sempre valorizzata la 1° parte, mentre non è detto per la 2° come hai visto:
Args=
Me.Parent.Name
 & "|" & Me!CboProdotto

Di fatto non devi discriminare OpenArgs, ma il 2° Parametro...

@Alex


title: uso corretto di Opneargs

text:

Dim strFrm As String, IdCtl As Long
strFrm = Split(Me.OpenArgs, "|")(0)
IdCtl = Split(Me.OpenArgs, "|")(1)

If strFrm = "MOrdini" Then
ecc..
End If

If IdCtl <> -1 Then



title: Alternative al Campo contatore

author: Govardo Libero

text:
Il seguente codice sostituisce un campo di tipo contatore (che non
voglio/posso usare), in valore predefinito del campo [CODICE].
=IIf((DMax("[RUBRICA]![CODICE]";"RUBRICA";"[RUBRICA]![CODICE]")+1) Is
Null;10001;DMax("[RUBRICA]![CODICE]";"RUBRICA";"[RUBRICA]![CODICE]")+1)
Funziona benissimo ma non con le maschere continue si inseriscono più record
alla volta, il nuovo record presenta lo stesso valore di quello appena
inserito.
Naturalmente si può fare con un apposito codice evento, ma col valore
predefinito sarebbe tutto più svelto e pratico.
Si può fare?


title: Alternative al Campo contatore

author: Sib dal portatile

text:
"Govardo Libero" <
gov...@libero.it
> ha scritto nel messaggio

Io userei l'evento corrente:
Private Sub Form_Current()
    If Me.NewRecord Then
        Me.Cam1.DefaultValue = "'" & TuaFormula & "'"
    End If
End Sub
Sib


title: Alternative al Campo contatore

text:
"Sib dal portatile" <
sibN...@iol.it
> ha scritto nel messaggio
news:3o4w7.46292$0Y2.4...@news.infostrada.it...

Che comodità l'auto-gestione dei progressivi, così come l'ha semplificata
Sib poi...
Io per comodità gestisco così che i ogni caso è esattamente come dice Sib:
 Private Sub Form_Current()
     If Me.NewRecord Then
         Me.Cam1.DefaultValue = NewProgress
     End If
 End Sub
Private Sub NewProgress()
    .......... Tutto iltuo codice
End Sub
@Alex.


title: Alternative al Campo contatore

text:
Mi avete convinto, ma per far funzionare tutto a dovere ho dovuto fare cosě:
----------------------------------------------------------------------------
--------------------------
Private Sub Form_Current()                                   'PROCEDURA PER
IL CALCOLO DI NUMERI PROGRESSIVI
     Dim NCODE, NINIZ As Integer
     NINIZ = 10000
'NUMERO INIZIALE DELLA SEQUENZA -1
     NCODE = Nz(DMax("[CODICE]", "RUBRICA"))
'MASSIMO NUMERO IN SEQUENZA
     If Me.NewRecord Then
'QUANDO SI APRE UN NUOVO RECORD
      Me![Codice].DefaultValue = 1 + IIf(NCODE = 0, NINIZ, NCODE) 'CALCOLA
UN NUOVO NUMERO
     End If
 End Sub
----------------------------------------------------------------------------
---------------------------------------------------------
Su maschere monorecord continuerň col solito sistema
"@Alex" <
ik2...@libero.it
> ha scritto nel messaggio
news:9pqk1o$a4b$1...@nreada.inwind.it...
>
> "Sib dal portatile" <
sibN...@iol.it
> ha scritto nel messaggio
> news:3o4w7.46292$0Y2.4...@news.infostrada.it...
> > "Govardo Libero" <
gov...@libero.it
> ha scritto nel messaggio
> > > Il seguente codice sostituisce un campo di tipo contatore (che non
> > > voglio/posso usare), in valore predefinito del campo [CODICE].
> > >
> > > =IIf((DMax("[RUBRICA]![CODICE]";"RUBRICA";"[RUBRICA]![CODICE]")+1) Is
> > >
Null;10001;DMax("[RUBRICA]![CODICE]";"RUBRICA";"[RUBRICA]![CODICE]")+1)
> > >
> > > Funziona benissimo ma non con le maschere continue si inseriscono piů
> > record
> > > alla volta, il nuovo record presenta lo stesso valore di quello appena
> > > inserito.
> > > Naturalmente si puň fare con un apposito codice evento, ma col valore
> > > predefinito sarebbe tutto piů svelto e pratico.
> > > Si puň fare?
> >
> > Io userei l'evento corrente:
> > Private Sub Form_Current()
> >     If Me.NewRecord Then
> >         Me.Cam1.DefaultValue = "'" & TuaFormula & "'"
> >     End If
> > End Sub
> >
> > Sib
> >
>
> Che comoditŕ l'auto-gestione dei progressivi, cosě come l'ha semplificata
> Sib poi...
> Io per comoditŕ gestisco cosě che i ogni caso č esattamente come dice Sib:



title: Alternative al Campo contatore

author: Sib dall'ufficio

text:
"Govardo Libero" <
gov...@libero.it
> ha scritto nel messaggio
news:9pt5g7$rtq$2...@lacerta.tiscalinet.it...
> Mi avete convinto, ma per far funzionare tutto a dovere ho dovuto fare
cosě:
CUT
Prima di tutto rispondi dopo il quoting.
Comunque ti sei inutilmente complicato la vita.
Se usi la mia sub e sostituisci TuaFormula, con la stessa formula che usi
nel valore predefinito vedrai che tutto ti funziona come deve.
> > > Io userei l'evento corrente:
> > > Private Sub Form_Current()
> > >     If Me.NewRecord Then
> > >         Me.Cam1.DefaultValue = "'" & TuaFormula & "'"
> > >     End If
> > > End Sub
Sib
PS ovviamente devi sostituire i punti e virgola con le virgole e fare
precedere i riferimenti ai controlli da Me.


title: Alternative al Campo contatore

text:
"@Alex" <
ik2...@libero.it
> ha scritto nel messaggio
news:9pqk1o$a4b$1...@nreada.inwind.it...
>
> "Sib dal portatile" <
sibN...@iol.it
> ha scritto nel messaggio
> news:3o4w7.46292$0Y2.4...@news.infostrada.it...
> > "Govardo Libero" <
gov...@libero.it
> ha scritto nel messaggio
> > > Il seguente codice sostituisce un campo di tipo contatore (che non
> > > voglio/posso usare), in valore predefinito del campo [CODICE].
> > >
> > > =IIf((DMax("[RUBRICA]![CODICE]";"RUBRICA";"[RUBRICA]![CODICE]")+1) Is
> > >
Null;10001;DMax("[RUBRICA]![CODICE]";"RUBRICA";"[RUBRICA]![CODICE]")+1)
> > >
> > > Funziona benissimo ma non con le maschere continue si inseriscono più
> > record
> > > alla volta, il nuovo record presenta lo stesso valore di quello appena
> > > inserito.
> > > Naturalmente si può fare con un apposito codice evento, ma col valore
> > > predefinito sarebbe tutto più svelto e pratico.
> > > Si può fare?
> >
> > Io userei l'evento corrente:
> > Private Sub Form_Current()
> >     If Me.NewRecord Then
> >         Me.Cam1.DefaultValue = "'" & TuaFormula & "'"
> >     End If
> > End Sub
> >
> > Sib
> >
>
> Che comodità l'auto-gestione dei progressivi, così come l'ha semplificata
> Sib poi...
Cioe'?


title: Alternative al Campo contatore

author: carlo

text:
"Sib dall'ufficio" <cerrise...@SPAMtiscalinet.it> ha scritto nel
messaggio news:9puq16$fjb$1...@serv1.iunet.it...

Ti pregherei di ripostare la formula in quanto non la riesco ad utilizzare
=IIf((DMax("[RUBRICA]![CODICE]";"RUBRICA";"[RUBRICA]![CODICE]")+1)
IsNull;10001;DMax("[RUBRICA]![CODICE]";"RUBRICA";"[RUBRICA]![CODICE]")+1)
c'è forse qualche errore?
grazie in anticipo


title: Alternative al Campo contatore

author: Alex

text:
"carlo" <
carlov...@tiscalinet.it
> wrote in message
news:AqbC7.5954$74.1...@news2.tin.it...
> >
> Ti pregherei di ripostare la formula in quanto non la riesco ad utilizzare
> =IIf((DMax("[RUBRICA]![CODICE]";"RUBRICA";"[RUBRICA]![CODICE]")+1)
> IsNull;10001;DMax("[RUBRICA]![CODICE]";"RUBRICA";"[RUBRICA]![CODICE]")+1)
> c'è forse qualche errore?
> grazie in anticipo
Come ripostare, basta guardare l'help:
=IIf(IsNUll(DMax("[CODICE]";"RUBRICA")+1);10001;DMax("[CODICE]";"RUBRICA")+1)
Dai un'occhiata alle Parentesi...!
@Alex
--
Posted from  [146.133.1.30]
via Mailgate.ORG Server -
http://www.Mailgate.ORG


title: Alternative al Campo contatore

text:
"carlo" <
carlov...@tiscalinet.it
> wrote in message
news:AqbC7.5954$74.1...@news2.tin.it...
> >
> Ti pregherei di ripostare la formula in quanto non la riesco ad utilizzare
> =IIf((DMax("[RUBRICA]![CODICE]";"RUBRICA";"[RUBRICA]![CODICE]")+1)
> IsNull;10001;DMax("[RUBRICA]![CODICE]";"RUBRICA";"[RUBRICA]![CODICE]")+1)
> c'è forse qualche errore?
> grazie in anticipo
Qualche errore....??? Guarda l'help sull'utilizzo di DMAX:



title: Calcolo in SM

author: Cataldo Formaro

text:
Ciao,
Nella "miaSMaschera" vorrei effettuare un calcolo a fronte dopo
aggiornamento del controllo "qtà"
nel controllo "Prezzo" inserisco il prezzo
nel controllo "Qtà" inserisco la quantità movimentata
nel controllo "Sconto" inserisco la percentuale di sconto a numero
nel controllo "ImportoSconto" vorrei calcolare lo sconto praticato in valuta
ho pensato di inserire questa formula:
Me![ImportoSconto] = Me![Prezzo] * Me![Qtà] / 100 * Me![Sconto]
ma è stato un cattivo pensiero.
ciao a tutti CF


title: Calcolo in SM

author: Antonio Ganci

text:
> nel controllo "ImportoSconto" vorrei calcolare lo sconto praticato in
valuta
> ho pensato di inserire questa formula:
> Me![ImportoSconto] = Me![Prezzo] * Me![Qtà] / 100 * Me![Sconto]
>
> ma è stato un cattivo pensiero.
> ciao a tutti CF
Me![ImportoSconto] = Me![Prezzo] * Me![Qtà] * ( Me![Sconto] / 100 )
Dove lo Sconto deve essere un numero tra 0 e 100, nel caso in cui la
percentuale la memorizzi con un numero da 0 a 1 basta togliere il / 100
dalla formula precedente.
Per capirci se io compro un prodotto da 1000 euro e mi fanno lo sconto del
10% per calcolare l'importo dello sconto:
1000 * ( 10 / 100) = 1000 * 0, 1 = 100 Euro.
Ciao, Antonio.


title: Calcolo in SM

text:
"Antonio Ganci" <
a.g...@areacom.it
> ha scritto nel messaggio
news:ah1a73$f8u$1...@newsreader.mailgate.org...

> grazie antonio, faccio le dovute prove e .... ci sentiamo.
saluti CF


title: Calcolo in SM

text:
"Cataldo Formaro" <
formaro...@inwind.it
> ha scritto nel messaggio
news:NLWY8.55241$K_4.1...@twister1.libero.it...

> Tutto OK Grazie CF


title: ancora sui beeee... che pecora :-)

author: goose

text:
Un saluto a tutto il NG.
sulla scorta di un quesito che ho postato venerdě scorso, per il quale il
buon Lorenzo mi ha dato giusti lumi,
mi trovo adesso a risolvere un problema successivo:
ho un fe che punta un file be che si trova in rete. Tutto ok (dopo l'aiuto
di cui sopra..eheheh)
accade perň che vi sono maschere nelle quali avevo inserito del codice con
il quale aprivo delle tabelle del file be.
Ovviamente anche questo codice, per poter funzionare, deve essere
modificato, perchč deve contenere il percorso di rete dove risiede il file
be.
Ed eccomi al dunque.
Vorrei fare in modo che, dichiarando una variabile che funzioni in tutto il
db, ad essa assegno il percorso di rete dove risiede il file che mi
interessa e la inserisco direttamente nel codice delle singole maschere.
Cosě facendo non dovrei impazzirmi in caso di cambiamenti nel path del file
be.
Vi sembra un modo di procedere corretto?
Modo di procedere corretto = true: come si dichiara una variabile
'globale'???
Modo ci procedere corretto=false ... anzi č proprio schifoso: che sistema
posso adottare per velocizzare questi aggiornamenti?
Un grazie anticipato
Goose


title: ancora sui beeee... che pecora :-)

author: Catja Moeller

text:
On Mon, 23 Apr 2001 13:47:01 GMT, "goose" <
goose...@hotmail.com
>
wrote:
>Modo di procedere corretto = true: come si dichiara una variabile
>'globale'???
Non lo so ...non so neanche se esiste una cosa cosi'. Ho creato una
tabella nei miei fe, con un solo record, e li' metto i percorsi dei
diversi file e gruppi di file esterni che vengono manipolati (percorsi
che potrebbero anche essere diversi da un utente all'altro). Nel
codice la funzione dlookup legge il percorso che serve.


title: ancora sui beeee... che pecora :-)

author: Mattia

text:
"goose" <
goose...@hotmail.com
> ha scritto nel messaggio
news:pnWE6.1813$UU.2...@news2.tin.it...
> Un saluto a tutto il NG.
> sulla scorta di un quesito che ho postato venerdì scorso, per il quale il
> buon Lorenzo mi ha dato giusti lumi,
> mi trovo adesso a risolvere un problema successivo:
> ho un fe che punta un file be che si trova in rete. Tutto ok (dopo l'aiuto
> di cui sopra..eheheh)
> accade però che vi sono maschere nelle quali avevo inserito del codice con
> il quale aprivo delle tabelle del file be.
> Ovviamente anche questo codice, per poter funzionare, deve essere
> modificato, perchè deve contenere il percorso di rete dove risiede il file
> be.
> Ed eccomi al dunque.
> Vorrei fare in modo che, dichiarando una variabile che funzioni in tutto
il
> db, ad essa assegno il percorso di rete dove risiede il file che mi
> interessa e la inserisco direttamente nel codice delle singole maschere.
> Così facendo non dovrei impazzirmi in caso di cambiamenti nel path del
file
> be.
> Vi sembra un modo di procedere corretto?
> Modo di procedere corretto = true: come si dichiara una variabile
> 'globale'???
> Modo ci procedere corretto=false ... anzi è proprio schifoso: che sistema
> posso adottare per velocizzare questi aggiornamenti?
>
> Un grazie anticipato
>
> Goose
>
>
Io ho fatto proprio così creando un modulo "dichiarazioni" e dichiarando le
variabili:
Public Const hdlav = "c:\"
Public Const dirlav = "C:\Mattia\mio\progetti\Confcoop"
Public Const miodb_fe = "gestcop.mdb"
Public Const miodb_be = "db_gestcop.mdb"
Aloa                Mattia


title: ancora sui beeee... che pecora :-)

text:
Mattia <
smattia...@libero.it
> wrote in message
news:vmbF6.87173$s93.9...@news.infostrada.it...
>
> "goose" <
goose...@hotmail.com
> ha scritto nel messaggio
> news:pnWE6.1813$UU.2...@news2.tin.it...
[cut]
>
> Io ho fatto proprio cosě creando un modulo "dichiarazioni" e dichiarando
le
> variabili:
> Public Const hdlav = "c:\"
> Public Const dirlav = "C:\Mattia\mio\progetti\Confcoop"
> Public Const miodb_fe = "gestcop.mdb"
> Public Const miodb_be = "db_gestcop.mdb"
>
> Aloa                Mattia
>
Vi ringrazio della consulenza.
Adesso vado molto piů spedito.
Un saluto
Goose


title: ancora sui beeee... che pecora :-)

author: Antonio Biso

text:
goose <
goose...@hotmail.com
> wrote in message
W2gF6.2094$p01....@news2.tin.it...
>
> Mattia <
smattia...@libero.it
> wrote in message
> news:vmbF6.87173$s93.9...@news.infostrada.it...
> >
> > "goose" <
goose...@hotmail.com
> ha scritto nel messaggio
> > news:pnWE6.1813$UU.2...@news2.tin.it...
> [cut]
> >
> > Io ho fatto proprio così creando un modulo "dichiarazioni" e dichiarando
> le
> > variabili:
> > Public Const hdlav = "c:\"
> > Public Const dirlav = "C:\Mattia\mio\progetti\Confcoop"
> > Public Const miodb_fe = "gestcop.mdb"
> > Public Const miodb_be = "db_gestcop.mdb"
> >
> > Aloa                Mattia
Questo va bene se tu sai questi dati a priori. Altrimenti ti dichiari delle
variabili globali (quindi come sopra ma senza il const e senza
l'assegnamento) e poi in qualche punto del programma, magari all'avvio, ti
fai dare dall'utente o lo ricavi da qualche parte il valore da dare a quella
variabile e lo assegni. Sarà visibile per tutta la sessione da qualunque
parte!
Antonio


title: proteggere un database

author: Andrea Brilli

text:
sto cercando di rendere inacessibile la parte delle strutture di un database
come posso fare. Voglio evitare che un utente con la combinazione ALT+F4
riesca ad entrare nella maschera del database. Qualcuno sa aiutarmi?
Grazie


title: proteggere un database

author: Marco

text:
"Andrea Brilli" <
andrea...@virgilio.it
> ha scritto nel messaggio
news:sHWna.33534$LB6.7...@news1.tin.it...

prova a convertire il tuo db da mdb a mde per maggiori informazioni prova la
guida in linea F1 oppure fatti un giro sul sito comune
www.sitocomune.com
ciao e buona pasqua a tutti


title: proteggere un database

text:
ti ringazio della risposta, si conosco la procedura per creare un file mde
ma so che esista anche un'altra procedura per proteggere un normale mdb
riuscendo cioè ad evitare di aprire la maschera del database con la
combinazione ALT+F4.
"Marco" <
rm.creati...@virgilio.it
> ha scritto nel messaggio
news:TBYna.52373$T34.1...@news2.tin.it...



title: proteggere un database

text:
"Andrea Brilli" <
andrea...@virgilio.it
> ha scritto nel messaggio
news:AT9oa.35755$LB6.8...@news1.tin.it...

Sarebbe buona cosa rispondere inserendo il proprio messaggio dopo quello
ricevuto, per una migliore leggibilità del 3D.
In ogni caso esiste la protezione a livello Utente, nella quale puoi
definire
Tipologia di Utenti e relativi privilegi, tra i quali gli accessi agli
oggetti.
Penso però che la soluzione della creazione del MDE sia decisamente
soddisfacente, tieni conto in'oltre che è possibile disabilitare la
pressione
del tasto SHIFT all'avvio, il che ti garantisce ulteriormente....!
Ciao.
@Alex.


title: collegare un docmunto word

author: alb

text:
mi piacerebbe creare una maschera che abbia un pulsante che mi apra un
documento word riferito al valore prenente in un campo, Esempio:
Nome: Mario
Cognome : ROSSI
Curriculum: c:\cartella\documenti\rossi_curriculum.doc
E' evidente che il campo: Curriculum (formato collegamento ipertestuale)
debba essere digitato dall'utente. GRAZIE


title: collegare un docmunto word

author: Roberto da casa

text:
"alb" <
dona...@yhaoo.it
> ha scritto nel messaggio
news:ca2cn7$o0l$1...@lacerta.tiscalinet.it...

Non è affatto necessario usare campi di tipo Collegamento ipertestuale.
Se il controllo in cui l'utente digita il cognome si chiama appunto Cognome
ed il pulsante di comando si chiama MioPulsante, esegui la seguente riga di
codice VBA:
Me!MioPulsante.HyperlinkAddress = "c:\cartella\documenti\" _
& Me!Cognome & "_curriculum.doc"
Ciò fatto, quando pigerai il pulsante di comando verrà aperto il file word
specificato.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


title: collegare un docmunto word

text:
Grazie di cuore
"Roberto da casa" <
r.ma...@libero.it
> ha scritto nel messaggio
news:rCfxc.98102$Qc.38...@twister1.libero.it...
>
> "alb" <
dona...@yhaoo.it
> ha scritto nel messaggio
> news:ca2cn7$o0l$1...@lacerta.tiscalinet.it...
> > mi piacerebbe creare una maschera che abbia un pulsante che mi apra un
> > documento word riferito al valore prenente in un campo, Esempio:
> > Nome: Mario
> > Cognome : ROSSI
> > Curriculum: c:\cartella\documenti\rossi_curriculum.doc
> >
> > E' evidente che il campo: Curriculum (formato collegamento ipertestuale)
> > debba essere digitato dall'utente. GRAZIE
>
> Non č affatto necessario usare campi di tipo Collegamento ipertestuale.
>
> Se il controllo in cui l'utente digita il cognome si chiama appunto
Cognome
> ed il pulsante di comando si chiama MioPulsante, esegui la seguente riga
di
> codice VBA:
>
> Me!MioPulsante.HyperlinkAddress = "c:\cartella\documenti\" _
> & Me!Cognome & "_curriculum.doc"
>
> Ciň fatto, quando pigerai il pulsante di comando verrŕ aperto il file word



title: Una condizione su un report che non vuole funzionare.

text:
Buongiorno a tutti.
Ho un report che contiene un campo "CostoInvestimento" che può essere uguale a "Costo" o a "Investimento".
Sul retro di questo report, fisicamente è una cartellina cartacea formato A3, ho una serie di etichette non visibili delle quali, per semplicità espositiva, ne considero solo due.

"etichetta78" pari a una casella vuota con solo il bordo visibile.
"etichetta341" una etichetta con la scritta "non necessario".

in pratica vorrei che se il campo "CostoInvestimento" è uguale a:
---> "Costo" visualizzasse la casella con la scritta "non necessario"
---> "Investimento" visualizzasse la casella vuota con il bordo

Ho scritto questo codice su corrente ma non funziona e non mi ci raccapezzo più....

Private Sub Report_Current()
If Me.CostoInvestimento.Value = "Costo" Then
    Me!Etichetta78.Visible = False
    Me!Etichetta341.Visible = True
Else
    Me!Etichetta78.Visible = True
    Me!Etichetta341.Visible = False

     End If
End Sub

Qualche anima buona ha voglia di darmi un occhiata  ? grazie


author: Karl Donaubauer

text:
ignazio.pilone wrote:
> ...
> Ho scritto questo codice su corrente ma non funziona e non mi ci
> raccapezzo pi�....
>
> Private Sub Report_Current()
> If Me.CostoInvestimento.Value = "Costo" Then
>     Me!Etichetta78.Visible = False
>     Me!Etichetta341.Visible = True
> Else
>     Me!Etichetta78.Visible = True
>     Me!Etichetta341.Visible = False
> ...

Direi che � colpa dell'evento che hai scelto.
"Su corrente" solo succede se apri il report in vis. report o layout
e fai clic su un record.

Prova il codice p.e. nell'evento "Su stampa" o "Su formattazione"
della sezione dove si trova il controllo con CostoInvestimento.

--
Ciao
Karl
*********
Access FAQ:
http://www.donkarl.com/it


text:
ciao Karl....
perfetto puntuale e preciso, come sempre.

grazie infinite e buon fine settimana.


title: Inviare file pdf alla stampante

author: Fabio Fucci

text:
Buongiorno,
ho una procedura che mi crea n file in pdf; alcuni li invio a mezzo mail mentre altri ho la necessità di stamparli ma non so il comando da utilizzare.
Vi ringrazio tutti


title: Inviare file pdf alla stampante

text:

Spiega come crei quel FILE PDF, perchè se è da Report la risposta è banale... se interagisci con Word/Excel o altri Server di Automaizone, la risposta è altrettanto banale... li mandi in Stampa con il metodo di stampa del Documento...!
In tutti gli altri casi segreti... serve capire cosa fai.

Altrimenti chiami una API(ShellExecute passando il parametro "Print") che EMULA il RightClick sul File e lo manda in stampa...

@Alex


title: Inviare file pdf alla stampante

text:
Il giorno martedì 27 febbraio 2018 08:10:02 UTC+1, Fabio Fucci ha scritto:

Il codice che utilizzo è il seguente:

    Dim sPDFName As String
    Dim sPDFPath As String
    Dim sReportName As String
    Dim sPrinterName As String
    Dim lPrinters As Long
    Dim lPrinterCurrent As Long
    Dim lPrinterPDF As Long
    Dim prtDefault As Printer
    Dim NomeFileAlleg As String
    Dim RSElenco As ADODB.Recordset
    Dim Quota As String
    Dim NomeFile As String

    Set RSElenco = New ADODB.Recordset
    RSElenco.ActiveConnection = CurrentProject.Connection
    RSElenco.CursorType = adOpenKeyset
    RSElenco.LockType = adLockOptimistic
    RSElenco.Open "Estratto_conto_riepilogo"
    MsgBox RSElenco.RecordCount
Do Until RSElenco.EOF
    Naziende = Naziende + 1
    Codice = RSAllevatori.Fields(0).Value
    Mail = RSAllevatori.Fields(1).Value
    Quota = RSAllevatori.Fields(2).Value

    sReportName = "Estratto_conto"
    sPDFName = "Estratto conto.pdf"
    sPDFPath = "c:\Estratto_Conto\"
    NomeFile = sPDFPath & sPDFName
    DoCmd.OutputTo acOutputReport, sReportName, acFormatPDF, NomeFile
' dovrei quindi stampare il file pdf che ho creato nella variabile Nomefile e il file presente su hard disk che è definito nella variabile Quota
    RSAllevatori.MoveNext
Loop

Quindi per ogni record presente nella query "estratto_conto_riepilogo" devo stampare 2 file (il percorso ed il nome dei file sono presenti nelle 2 variabili Nomefile e Quote
Grazie ancora.


title: Inviare file pdf alla stampante

author: RobertoA

text:

Supponiamo di voler usare il metodo simile a quando da file manager
Windows si 'dragga' il file pdf (o xls o doc o altro file conosciuto da
Windows) e lo si 'droppa' sopra la schermata che si apre andando su
Stampanti/NomeStampante  e doppio click
Credo sia il sistema piu' astruso che esista per stampare
Ma fa niente, e' per imparare qualcosa di nuovo
E' una semplice copia di file come da sistema operativo, oppure e'
un'operazione diversa?


title: Inviare file pdf alla stampante

author: BFS

text:
Il 27/02/2018 10:22, Fabio Fucci ha scritto:

chiaramente il codice non l'hai scritto tu
anyway

>
>      sReportName = "Estratto_conto"

DoCmd.OpenReport sReportName

>      sPDFName = "Estratto conto.pdf"
>      sPDFPath = "c:\Estratto_Conto\"
>      NomeFile = sPDFPath & sPDFName

ciao
BFS


title: Inviare file pdf alla stampante

text:

Scusami ma che significa che il codice non l'ho scritto io.....
E poi mi serve sapere come stampare un file PDF presente su hard disk e non stampare un report.
Grazie ancora


title: Inviare file pdf alla stampante

text:

il tuo codice prende un report, lo converte in pdf e lo salva sul disco
se devi anche stamparlo che senso ha stampare il pdf e non il report da
cui deriva?
Forse ci sono terze applicazioni che modificano in qualche modo il pdf
prima che tu lo stampi da renderlo differente dal relativo report?

forse non  hai esposto bene la tua esigenza


title: Inviare file pdf alla stampante

text:
Il 27/02/2018 10:59, Fabio Fucci ha scritto:

se hai acrobat nel pc e vuoi per forza stampare il pdf

Sub one()
print_pdf ("percorsofilechevuoistampare")

End Sub

Sub print_pdf(XsomeFile As String)
     DoEvents
     Shell "C:\Program Files (x86)\Adobe\Acrobat Reader
DC\Reader\AcroRd32.exe /p /h " & XsomeFile, vbHide
End Sub

adatta ovviamente il percorso di acrord32.exe ed eventuali opzioni di
riga di comando

ciao
BFS