Newsgroup: it.comp.appl.access
Titolo: Crea link a form specifica in db, all'interno di body email

Ciao a tutti,
avrei l'esigenza di inviare un' email che contenga nel corpo un
collegamento ipertestuale a una specifica maschera di un mdb. Questa
soluzione sarà adottata all'interno di rete aziendale, pertanto chi
riceve l'email, cliccando sul lik, aprirà proprio la maschera
specificata.
Per l'invio dell'email non ci sono problemi, ma non so in VBA creare
il link con le specifiche richieste.
Grazie

 Grazie
Mi togli una curiosita'?
Chi ha avuto questa idea? In base a quale ragionamento (e ambiente 
locale) e' possibile? Tutto cio' aldila' dell'eventuale codice VBA 
richiesto.
-- 
ac (x=y-1)

 ac (x=y-1)
Ciao Alessandro,
ho un file vbs che messo in operazioni pianificate di windows manda
una serie di email ad utenti di rete.
Il contenuto dell'email è una specie di memo cui è associato in
idmemo, generata automaticamente dall'amministratore, che contiene
anche il campo eseguito o no ed un campo descrizione
Io vorrei essendo magari il destinatario di tale email, aprire una
form del database che contiene idmemo ricevuta e flaggare eseguito.

 form del database che contiene idmemo ricevuta e flaggare eseguito.
Sei cosciente che per aprire access lo devi avere sull'ambiente locale? 
o essere in un ambiente di tipo terminal server?
Discorso diverso e se, in qualche modo, riesci a mandare una 
segnalazione ad un access attivo (o da far partire) e chierdergli di 
aggiornare un qualcosa su una sorgente dati, il form a quel punto e' una 
sovrastruttura inutile. Tutto cio' probabilmente e' difficile da 
ottenere con un semplice link. Normalmente i link attivano il programma 
di default per l'estensione (o per il protocollo indicato) e possono 
avere parametri che dicono al programma target che cosa fare, mai 
provato con access.
E' possibile, comunque, fare del "clouding" con un access in ascolto di 
qualche segnalazione che lo attivi.
-- 
ac (x=y-1)

 ac (x=y-1)
Ciao Alessandro forse non è chiaro quanto espresso.
Il file vbs è residente sulle varie workstation aziendali interroga un
db di rete e in base a determinate criteri, invia all'utente di
exchange una email contenente un idmemo, una descrizione di quello che
bisogna fare e un testo effettuato si/no (campi del db centrale).
L'utente riceve questa email, che non è altro che un memo, e fino a
quando non dice aver effettuato l'attivià/email, questa viene
reinviata nuovamente all'utente. Di qui la necessità di dare al'utente
la possibilità di aprire in seno all'email direttamente il db
centrale, meglio la form con i dati che riguardano la sua idmemo e
cosi poterla chiudere flaggando eseguito si.
Immagina un servizio web in cui un server web centrale invii ad una
lista di utenti email contenenti i dati dei loro ordini. L'email
conterrà ad esempio il campo n.ordine e campo annulla ordine. l'utente
cliccando sul relativo link apre pagina web(nel mio caso form)ed
elimina magari il suo ordine.


Grazie ho risolto, utilizzando vba outlook.
L'utente che riceve messaggio, se vuole chiudere il memo, esegue una
sub che legge idmemo nell'oggetto dell'email ed apre form
corrispondente(chiudimemo) dove idmemo=idmemo nell'oggetto email.
Rettifica il vbs schedulato risiede su server.
Grazie

 
pare che tu abbia poche idee ma ben confuse...
hai un file vbs per ogni workstation che interroga un db centrale.
perche' non mettere il vbs sul server centrale invece che averne X copie 
(suppongo identiche) spantegate per tutta la rete?
questo vbs manda l'email e poi l'utente deve agire mettendo un flag da 
qualche parte.
facendo come hai ipotizzato tu, *DEVI* installare access o il runtime su 
ogni e qualsiasi macchina che potrebbe essere utilizzata da un utente 
'ricevitore' delle email, assicurarti che il mdb e access siano sempre 
nello stesso percorso, mettere in piedi un accrocchio che ti permetta di 
aprire access tramite un link, scardinare i meccanismi di protezione che 
molti client di posta hanno e che impediscono di lanciare eseguibili 
senza prima chiederti conferma di ogni click che fai.
e tutto questo casino per mettere un flag?
fai una pagina asp in vb e nell'email metti il link a quella pagina.
-- 
Paolo opg
BE AWARE that this post uses a fake reply-to address
to contact me write to:
janickg ( at ) hotmail ( dot ) com
--

 elimina magari il suo ordine.
Appunto! Access "non" e' sinonimo di web. Ed anche nel caso del web hai 
un server (iis/apache o quello che e') ed un browser (IE/Firefox o 
quello che e'). Ambedue sono intelligenti e sono pensati apposta per 
comunicare via HTML (javascript -lato client- vbs/php/java/etc.. -lato 
server- sono utili Helpers) generalmente sulla porta 80.
Non mi risulta che ci sia un addin che faccia vedere access nel browser 
come per pdf o excel) altrimenti non staremmo qui, come -ora- si suol 
dire, a smacchiare i giaguari.
Quello che puoi fare e' una *ricca* pagina web (asp/
asp.net
 immagino) 
che risponda al link inviando i dati richiesti (form html) e 
consentendone la manipolazione.
L'altra possibile cosa e' che la risposta, non conosco exchange e potrei 
dire corbellerie, venga avviata ad un utente fittizio di exchange 
conosciuto dal vbs che se ne prende carico, il vbs intendo, ed in "blind 
side", cioe' senza che l'utente veda nulla, chieda al server access di 
fare gli aggiornamenti del caso ed eventualmente inviare la conferma. Su 
questo sono possibili situazioni diverse quasi pari alle Variazioni 
Goldberg o le vedute del Monte Fuji
P.S. Non comprendo la necessita' del vbs installato su ogni stazione, a 
occhio, la cosa puo' farla tranquillamente il server access.
P.P.S. Non hai pero' risposto alle mie domande iniziali. Non c'e' 
obbligo ma cortesia..... ;-{)
-- 
ac (x=y-1)

 > conterrà ad esempio il campo n.ordine e campo annulla ordine. l'utente

Vorrei ribadire che il file vbs è installato su server, dove anche
risiede mdb, quindi non sulle singole postazioni.
Tutte le postazioni sono dotate di Ms Access ed Ms Outlook, sotto
dominio Windows 2003 server, posta gestita con Ms Exchange.
Attraverso quanto esposto l'amministratore di rete scrivi una serie di
memo per vari utenti, questi memo, che sono email, vengono inviate
attraverso vbs a determinati orari agli utenti.
Questi email/memo continueranno ad essre inviate fion a quando
l'utente non chiude il memo.
Di seguito la soluzione adottata che funziona.
La seguente Sub risiede all'interno di OutLook.
Public Sub leggi() 'leggi il subject messaggio corrente
Dim myOlApp As New Outlook.Application 'OUTLOOK
Dim myItem As Object
Dim Assnum As String 'idmemo contenuto in oggetto
Dim subj As String
Set myItem = myOlApp.ActiveInspector.CurrentItem
subj = myItem.Subject
Assnum = ""
If InStr(subj, "/") Then
Assnum = Left(subj, InStr(subj, "/") - 1)
Else
Assnum = ""
End If
'Debug.Print "subject:  " & subj  'legge  il  soggetto
'MsgBox "subject:  " & subj  'legge  il  soggetto
'MsgBox "Assegnazione N: " & Assnum
'Passo ad ACCESS
If Assnum = "" Then
Exit Sub
Else
Dim AppAccess As Access.Application 'ACCESS
Dim stLinkCriteria As String
Set AppAccess = Access.Application
AppAccess.Visible = True
AppAccess.Application.OpenCurrentDatabase ("C:\Contatti.mdb")
stLinkCriteria = "[IDMemo]=" & Assnum
AppAccess.DoCmd.OpenForm "FrmElencaMemo", , , stLinkCriteria
End If
Set AppAccess = Nothing
Set myItem = Nothing
End Sub
Ciao

 End Sub
Brrrrrrrrrrrrrrrrr... hai scomodato il VBA di Outlook per una cosetta del
genere?... non voglio sminuire, mai sia, ma hai il server IIS (visto che
hai Exchange) per cui, perche' non fare nella inetpub/wwwroot una bella
paginetta FLAG.asp alla quale passi il paramentro IDMEMO, dove apri la
connessione al DB specifico, e lanci un bel "UPDATE " di un SQL
parametrizzato con un bel "...WHERE IDMEMO=" & tuoparametro ?
cos� nel testo della mail basta semplicemente che ad ogni utente si invia
il link alla pagina : 
http://tuoindirizzoip/TuaPath/FLAG.asp?IDMEMO=123456
l'utente clicca e il sistema fa tutto da solo...
facile no?
-- 
Ciao
Pablitomf
-----------------------------------
Napoli nel "Q"uore.... sempre e comunque.
-----------------------------------
Chi parla senza modestia trover� difficile rendere buone le proprie parole.
Confucio 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 questo articolo e` stato inviato via web dal servizio gratuitohttp://
www.newsland.it/newssegnala
 gli abusi ad 
ab...@newsland.it
Ciao la soluzione da te proposta, era stata già presa in
considerazione e sicuramente era molto più semplice e pulita, ma è
stata scartata e non conosco il perchè.
Qualora aavessi suggerimenti sul codice da me postato, non lesinare in
rimproveri e correzioni, io imparo da voi.
Grazie

 Vorrei ribadire che il file vbs � installato su server, dove anche

Uhmmmm..... tutto cio' comincia ad entrarci poco con access.
Comunque qui:
http://msdn.microsoft.com/en-us/library/aa171218%28v=office.11%29.aspx
c'e' il reference ad Outlook su un evento che potrebbe fare al tuo caso.
Non conosco Outlook se non per il fatto che invia e riceve posta.
Leggendo il codice della sub mi sembra che gia' faccia una apertura di 
mdb ed una attivazione di form e', quindi, quasi tutto fatto e' 
necessario solo attivarla passandogli un parametro che potrebbe essere 
catturato dalla gestione dell'evento.
Da quello che scrivi mi pare di capire che  Outlook su *tutte* le 
stazioni e' customizzato con quella routine.
-- 
ac (x=y-1)



Ciao Alessandro,
confermo che Outlook su *tutte* le stazioni e' customizzato con quella
routine.
Ottimo il suggerimento 
http://msdn.microsoft.com/en-us/library/aa171218%28v=office.11%29.aspx
Grazie di nuovo a tutti