Newsgroup: it.comp.appl.access
Titolo: INVIO REPORT URGENTE

Salve ragazzi ho veramente bisogno di voi!!!!
aiutatemi vi scongiuro
Ho ultimato con grnade sacrificio il mio database magazzino funziona tutto
perferttamente ma ora sorge un problema cercherò di essere chiaro:
HO creato un report ordini con una formattazione particolare
Intestazione report vuoto
Intestazione piè di pagina Vuoto
Intestazione Ordine Codice, tramite una   casella di testo con origine
controllo sulla mia tabella Ordini e poi tutto l'elenco dei dati di cui ho
bisogno.
Ora quando inserisco tutti i dati funziona perfettamente
cioè quando inserisco Ordine codice tipo XX YY-YYY
il report mi funge cosi se inserisco XX YY-ZZZ mi crea LA PAGINA 2 DI 2 ECC.
Il mio Problema consiste nell'inviare questi report a diverse ditta dove ad
un 'ordine codice  corrisponde un nome ditta.
Quando apro il report e gli dico Invia report a formato Snashpot mi invia
tutti gli ordini che io ho immesso.
Questo per me è un problema.
Non esiste una funzione che gli dica per esempio
invia report pagina 1 o 2 o 3 ecc
o un comando che mi permetta di selezionare l'ordine codice che desidero
inviare e mi permetta di inviare quella sola pagina e non 50 ordini tutti
insieme

 ha scritto nel messaggio
news:GbVCd.369018$b5.18...@news3.tin.it...

Non credo.
Se ho capito bene il tuo problema ogni Ordine appartiene ad una ditta
Io ritengo che ti converrebbe realizzare una Query parametrica, e basi
il Report su quella.
Il parametro sarà CodiceOrdine(ipotizzo il nome del campo, tu usa il tuo)
Estrai un Recordset che contenga l'elenco degli ordini e crei un Loop
che cicla tutti gli ordini uno per volta passando alla Query parametrica
il parameter corrispondente all'Ordine.
a quel punto, visto che saprai anche la Mail del Cliente stampi il Report
in formato SnapShot, quindi con SendObject lo invi.....!
MoveNext evvia....!
Ciao
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.mantuanet.it/alessandro.baraldi/
---------------------------------------------------------------------------

 ha scritto nel messaggio
news:crhgll$6vi$1...@lacerta.tiscalinet.it...

Grazie mille Alessandro per il tuo aiuto!!!!
Spero che gli vada bene cosi....
cmq funge benissimo. Il loop non riesco a farlo ma ho proceduto in questo
modo:
query parametrica settato su Ordine Codice ( avevi azzeccato :) ) mi sono
ricreato il report ordini, ora ,quando lo apro, mi dice di immettere il n°
codice e..... voilà , compare un solo foglio, grazie!
Ti chiedo un  piccola cosa!
Come posso rendere i record di una maschera, che hanno origine dati su una
tabella ordini, non modificabili?
Ti spiego...
ho creato una maschera ordini con una casella di riepilogo, naturalmente
quando vado ad inserire gli ordini la casella di riepilogo si aggiorna
automaticamente.
Ma il problema sorge quando chiudo ola maschera e la riapro la mascera si
riapre sul primo record  per esempio di 18 e magari c'è il rischio di
modificare cioò che ho scritto. non è che eseiste un evento per esempio di
apertura della mascera che mi vada direttamente su  nuovo record e di
bloccare la modifica di quelli già esistenti?
Grazie di tutto

 Grazie di tutto
Dai un'occhiata alla proprietà ImmissioneDati che trovi nella fisestra
proprietà della Maschera e settala a Vero.
All'apertura avrai solo a disposizione il Nuovo Record.
Ciao
-- 
@Alex (Alessandro Baraldi)



Sei gentilissimo Alessandro
ma sò poche nozioni utili di programmazione vba quindi ti chiedo una
conferma per la procedura per i dati mancanti.
Nella Query Parametrica nella riga Criteri del Campo NumeroOrdine
 scrivi [NOrdine:]
 - nel mio caso nel Campo Ordine Codice  scrivo [Ordine Codice:] quindi mi
viene fuori la schermata di immissione Ordine Codice e io digito il codice
XX 00-000 mi viene fuori il report formattato che ho creato per quel codice.
Per quanto concerne  il codice che mi dai lo metto come runtime dell'evento
click di  pulsante comando invia file?
Tipo
Private Sub Comando1_Click()           Associalto aad un pulsante di comando
Invia report
--- codice che mi hai dato Corretto!!
End Sub
ecc eccc

 ecc eccc
Teoricamente si, ma a questo punto non sň se ne vale la pena.


Ciao sono nuovamente io, scusami se ti scrivo in privato ma è una questione
di vita o di morte.
Allora ho studiato il codice che mi hai passato, ma niente non riesco.
Cerco di spiegarti come funziona il mio db e spero che mi dai un ultimo
aiuto.
Allora io mi trovo
Tabella Ordini con i seguenti Campi:
Ordine Codice dove immetto l'ordine codice relativo alla ditta con la
seguente formula XX 00-000 (Chiave primaria)
Ditta                nome della ditta riferita all'ordine Codice
ecc... tutti i campi di interesse
Mascera Ordini
Maschera per l'imissione dei record dove ho creato due caselle di riepilogo
chiamate trova Ditta e trova Corriere, le quali fanno riferimento alle
Tabelle Ditta e Corriere e con codice vba del tipo Me.OrdineCodice.Value =
Me.CasellaCombinata.Colum(0) mi richiamo automaticamente i dati nella
maschera che mi interessano. fin qui funge benissimo tutto.
Query SpedizioniOrdini
Nome della query Parametrica con OrdineCodice (criteri parameters [Digitare
OrdineCodice:]
e poi quasi tutti i campi della tabella ordini perche mi devonon spuntare le
informazioni nel mio report.
Ora viene il problema dell'invio dell'ordine ed io ho preso il tuo codice e
ho messo in questo modo:
Private Sub command_35 Click() evento click
   Dim qdf As DAO.QueryDef
   Dim rs As DAO.Recordset
   Dim rsMain as Dao.Recordset
   Set rsMain=Currentdb.OpenRecordset("TabellaOrdini") (dovrebbe prendersi i
record dalla mia tabella Ordini)
   If rsMain.EOF And rsMain.BOF Then  Exit Function "questa è un'istruzione
se il mio record si trova all'inizio o alla fine"
   Do until  rsMain.EOF
        Set qdf = CurrentDb.QueryDefs("qry_UPD_MOV") --->("qry_UPD_MOV") qui
non sò che mettere in quanto non ho capito
"Nel mio caso nella query parametrica ho messo nei criteri [Digitare Ordine
Codice:] quindi dovrei cambiarlo a:
        qdf.Parameters![Digitare OrdineCodice:]  = rsMain!OrdineCodice
        Set rs = qdf.OpenRecordset
        If Not(rs.EOF And rs.BOF) Then
  "Questo gli dà il comando apri report  quindi in strName ho dato il nome
del mio report strSpedizioneOrdini
             DoCmd.OutputTo acOutputReport, strName, acFormatSNP , StrPath
non sò cosa mettere
               DoCmd.SendObject acReport, "nome_report", nel mio caso
"Spedizione Report"
"SnapshotFormat(*.snp)",
qui hoi capito devo immettere tutti i contatti e_mail a disposizione
                        "
i...@io.it
", "
t...@io.it
", "
n...@io.it
", "report da
access", "ti invio il report
                        di access", False, ""
               doevents
        End if
        Set rs=Nothing
        set qdf=nothing
        rsMain.MoveNext
   Loop
   qdf.Close
   Set qdf = Nothing
   rs.Close
   set rs=nothing
   rsMain.Close
   set rsMain=Nothing
End Sub
Ora,  ho scritto tutto ma quando nel comando_35 metto su click evento
runtime ,mi da subito errore nelle definizioni
   Dim qdf As DAO.QueryDef
   Dim rs As DAO.Recordset
   Dim rsMain as Dao.Recordset
mi dice che non ho dichiarato qualcosa!!
ti prego aiutami, mi serve anche per capire! sono nelle tue mani. lunedi
devo consegnare il lavoro e fatto questo ho finito il tutto a meno di
qualche ritocco.

 qui hoi capito devo immettere tutti i contatti e_mail a disposizione
                NO, ad ogni Ordine farà capo un destinatario della mail,
pertanto
                dovrai recuperare l'indirizzo dalla tabella Anagrafiche(se è
li).
                Il tutto è facilmente fattibile ristrutturando la Query che
hai fatto
                ed inserendo i dati che ti servono per inviare le Mail.

Non riesco ad aiutarti, da quanto capisco la cosa è ad un livello che non ti
consente di essere
autonomo, pertanto per il tipo di personalizzazione che essa richiede non
saremo in grado
di affrontarla, è un pò come parlare 2 lingue diverse, ci si capisce fino ad
un certo punto...!
Sono dell'idea che non và mai fatto il passo più lungo della gamba,
concentrati sul fatto di
rendere funzionante il minimale del tuo applicativo, poi le finezze vanno
studiate e non
improvvisate nel WeekEnd con una scadenza il Lunedì.
Ciao
@Alex
