text:
CUT
> grazie
> ciao
se interessa: ho risolto così (copiato pari pari) :
Option Compare Database
Option Explicit
Private Sub Application_Startup()
    'IGNORE - This forces the VBA project to open and be accessible
using automation
    '         at any point after startup
End Sub
'
Public Function FnSendMailSafe(strTo, _
                                strcc, _
                                strBCC, _
                                strSubject, _
                                strMessageBody, _
                                strAttachments, _
                                AccSen)
On Error GoTo ErrorHandler:
    Dim MAPISession As Outlook.NameSpace
    Dim MAPIFolder As Outlook.MAPIFolder
    Dim MAPIMailItem As Outlook.MailItem
    Dim oRecipient As Outlook.Recipient
    Dim i As Long
    Dim TempArray() As String
    Dim varArrayItem As Variant
    Dim strEmailAddress As String
    Dim strAttachmentPath As String
    Dim blnSuccessful As Boolean
    'Get the MAPI NameSpace object
    Set MAPISession = Outlook.Session
    If Not MAPISession Is Nothing Then
      'Logon to the MAPI session
      MAPISession.Logon , , True, False
      'Create a pointer to the Outbox folder
      Set MAPIFolder = MAPISession.GetDefaultFolder(olFolderOutbox)
      If Not MAPIFolder Is Nothing Then
        'Create a new mail item in the "Outbox" folder
        Set MAPIMailItem = MAPIFolder.Items.Add(olMailItem)
        If Not MAPIMailItem Is Nothing Then
          With MAPIMailItem
            'Create the recipients TO
                TempArray = Split(strTo, ";")
                For Each varArrayItem In TempArray
                    strEmailAddress = Trim(varArrayItem)
                    If Len(strEmailAddress) > 0 Then
                        Set oRecipient = .Recipients.Add
(strEmailAddress)
                        oRecipient.Type = olTo
                        Set oRecipient = Nothing
                    End If
                Next varArrayItem
            'Create the recipients CC
                TempArray = Split(strcc, ";")
                For Each varArrayItem In TempArray
                    strEmailAddress = Trim(varArrayItem)
                    If Len(strEmailAddress) > 0 Then
                        Set oRecipient = .Recipients.Add
(strEmailAddress)
                        oRecipient.Type = olCC
                        Set oRecipient = Nothing
                    End If
                Next varArrayItem
            'Create the recipients BCC
                TempArray = Split(strBCC, ";")
                For Each varArrayItem In TempArray
                    strEmailAddress = Trim(varArrayItem)
                    If Len(strEmailAddress) > 0 Then
                        Set oRecipient = .Recipients.Add
(strEmailAddress)
                        oRecipient.Type = olBCC
                        Set oRecipient = Nothing
                    End If
                Next varArrayItem
            'Set the message SUBJECT
                .Subject = strSubject
            'Set the message BODY (HTML or plain text)
                If StrComp(Left(strMessageBody, 6), "<HTML>",
vbTextCompare) = 0 Then
                    .HTMLBody = strMessageBody
                Else
                    .Body = strMessageBody
                End If
            'Add any specified attachments
                TempArray = Split(strAttachments, ";")
                For Each varArrayItem In TempArray
                    strAttachmentPath = Trim(varArrayItem)
                    If Len(strAttachmentPath) > 0 Then
                        .Attachments.Add strAttachmentPath
                    End If
                Next varArrayItem
            For i = 1 To Outlook.Session.Accounts.Count
                If Outlook.Session.Accounts.Item(i) = AccSen Then
                    .SendUsingAccount = Outlook.Session.Accounts.Item
(i)
                    .Send
                End If
            Next i
  'eleuterio
            '.Send 'No return value since the message will remain in
the outbox if it fails to send
            Set MAPIMailItem = Nothing
          End With
        End If
        Set MAPIFolder = Nothing
      End If
      MAPISession.Logoff
    End If
    'If we got to here, then we shall assume everything went ok.
    blnSuccessful = True
ExitRoutine:
    Set MAPISession = Nothing
    FnSendMailSafe = blnSuccessful
    Exit Function
ErrorHandler:
    MsgBox "An error has occured in the user defined Outlook VBA
function FnSendMailSafe()" & vbCrLf & vbCrLf & _
            "Error Number: " & CStr(Err.Number) & vbCrLf & _
            "Error Description: " & Err.Description,
vbApplicationModal + vbCritical
    Resume ExitRoutine
End Function


title: Query nominativo

author: Emilio

text:
Qualcuno sa dirmi perchè la query nominativo (vedi sitocomune queries) non
funziona sul mio pc?
Ho SO win98se Access 2000.
Da come errore "funzione Left non defenita nell'espressione".
Al lavoro ho Access 2000 su win nt e funziona.
Grazie a chi mi volesse rispondere in anticipo.
--------------------------------
Inviato via
http://usenet.libero.it


title: Query nominativo

author: Alessandro Cara

text:
Emilio wrote:
>
> Qualcuno sa dirmi perchè la query nominativo (vedi sitocomune queries) non
> funziona sul mio pc?
> Ho SO win98se Access 2000.
> Da come errore "funzione Left non defenita nell'espressione".
> Al lavoro ho Access 2000 su win nt e funziona.
> Grazie a chi mi volesse rispondere in anticipo.
controlla i riferimenti.
Vai su un codice vba (di form o modulo) sul menu' voce strumenti opzione
riferimenti. Ci dovrebbe essere una o piu' voci con all'inizio scritto
MANCA, la risorsa non e' dove dovrebbe essere. Cercala sul PC e
ricollegala
--
a.cara
Togli qualcosa dall'email


title: Query nominativo

author: emilio

text:

Ti ringrazio ma non ci sono riuscito. Se fosse possibile avere informazioni
+ dettagliate.
Grazie cmq.



title: Query nominativo

text:
emilio wrote:
[cut]
>
> Ti ringrazio ma non ci sono riuscito. Se fosse possibile avere informazioni
> + dettagliate.
> Grazie cmq.
1) Apri l'mdb
2) Posizionati con il topo sulla maschera di database
3) Fai clicche con il tasto destro
4) Scegli la opzione "Visual Basic Editor", cliccaci sopra
5) Si apre la finestra del VB
6) pigia Alt+S e poi R
7) Si apre una form con una lista con un checkbox a sinistra
8) Alcuni checkbox sono selezionati
9) Certamente a fianco di uno di questi ci sara' scritto "MANCA"
10) Vacci sopra con il topo e clicca sulla descrizione
11) In basso (sotto la lista) ti fa vedere il percorso di dove
    access va a cercare quella risorsa. Li dove indicato non c'e'
12) Con gestione risorse cerca il nome che ti segnala
13) Ritorna su access e tramite il pulsante sfoglia vai
    nel path che dovresti aver trovato al punto 12
14) seleziona
15) chiudi con OK
16) Mi sento cretino



title: MDE (riposto perchè non vedo)

author: Giorgio

text:
Salve
Ho convertito un database alla versione 2002 (per poi poter creare il file
MDE
Quando provo a creare la copia del file MDE mi appare il seguente avviso:
imbossibile creare il database MDE.
Qualcuno può dirmi come mai ?
Grazie
Giorgio


title: MDE (riposto perchè non vedo)

author: Setec Astronomy

text:
Giorgio wrote:
> Salve
>
> Ho convertito un database alla versione 2002 (per poi poter creare il
> file MDE
>
> Quando provo a creare la copia del file MDE mi appare il seguente
> avviso:
>
> imbossibile creare il database MDE.
Prova a compilare il codice VB, probabilemnte ci sono degli errori.
Saluti.


title: MDE (riposto perchè non vedo)

author: Valerio Valentini

text:
"Giorgio" <
gior...@libero.it
> ha scritto nel messaggio
news:vkbTa.195286$Ny5.5...@twister2.libero.it...

Mi è già successo che AC02 mi crei db in formato AC00 e quindi quando ho
voluto trasformarli in MDE ho dovuto usare AC00 o convertire i db in AC02
Ciao Valerio.


title: Validazione e Verifica Campi in una Maschera

author: Andrea

text:
Salve,
ho cercato nel NG se qualcuno avesse già postato il mio problema o simile ma
nisba....
vorrei fare un controllo su ogni campo della mia maschera.
Come posso:
1) impedire di inserire un dato diverso da quelli in elenco nelle combo box
2) impedire di lasciare vuoto un campo... Campo obbligatorio con relativo
msg di errore.
Spero di essermi spiegato bene.
Grazie


author: Roberto dalla campagna

text:
"Andrea" <
and...@pcmweb.it
> ha scritto nel messaggio
news:b3y7d.6461$eb....@tornado.fastwebnet.it...
> Salve,
> ho cercato nel NG se qualcuno avesse già postato il mio problema o simile
ma
> nisba....
> vorrei fare un controllo su ogni campo della mia maschera.
> Come posso:
> 1) impedire di inserire un dato diverso da quelli in elenco nelle combo
box
Imposta a Si la proprietà Solo in elenco della casella combinata.
> 2) impedire di lasciare vuoto un campo... Campo obbligatorio con relativo
> msg di errore.
Apri la strutttura della tabella ed inposta a Si la proprietà Richiesto dei
campi che debbono essere obbligatoriamente significativi: se non riempirai
quei campi Access non registrerà il record e ne darà avviso all'utilizzatore
finale con un messaggio.
In alternativa, a fronte dell'evento "Prima di aggiornare" della maschera,
verifica con una If che i controlli di cui sopra siano significativi, in
caso contrario danne avviso con un messaggio all'utente finele, annulla
l'evento di registrazione con Cancel = True e sposta il fuoco sul controllo
incriminato.
>
> Spero di essermi spiegato bene.
> Grazie
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


author: falsim

text:
"Andrea" <
and...@pcmweb.it
> wrote in
news:b3y7d.6461$
eb....@tornado.fastwebnet.it
:
> Salve,
> ho cercato nel NG se qualcuno avesse già postato il mio problema o
> simile ma nisba....
> vorrei fare un controllo su ogni campo della mia maschera.
> Come posso:
> 1) impedire di inserire un dato diverso da quelli in elenco nelle
> combo box
  Le Combo posseggono la proprietà SoloInElenco. Per fare quello che
chiedi basta impostarla a True.
2) impedire di lasciare vuoto un campo... Campo obbligatorio
> con relativo msg di errore.
  Puoi farlo in due modi. O impostando a 'No' la proprietà
ConsentiLunghezzaZero di quel campo nella *tabella* oppure, via codice,
agire sull'evento BeforeUpdate andando a controllare che i campi della
maschera siano debitamente compilati.
  Ciao.
--
http://digilander.libero.it/winses/


text:
"falsim" <Toldino_at_...@hotmail.com.invalid> ha scritto nel
messaggio news:Xns9576B06BE5...@193.70.192.192...

Ho idea di essere tarallo:
non riesco proprio:
Ho provato tramite
   Dim retValue As Integer
   Dim strTtl As String
   Dim strMsg As String
  If Me.nomecampo1 = "" then
   strTtl = "Aggiornamento Database"
   strMsg = "Il campo è obbligatorio." & vbCrLf & _
            "Inserire un valore da elenco"
   retValue = MsgBox(strMsg, vbExclamation, strTtl)
   Select Case retValue
       Case vbExclamation
           DoCmd.RunCommand acCmdUndo
   End Select
end If
ma nnon va!!!!!
dove sbaglio?
sembra che nella mia combo box ci sia SEMPRE UN VALORE SCRITTO!?!?!? :-o
Poi non mi ritorna sul campo incriminato con il comando
 DoCmd.RunCommand acCmdUndo
cosa potrei usare?????
grazie


author: namor

text:
"Andrea" <
and...@pcmweb.it
> ha scritto nel messaggio
news:IOT7d.10955$eb....@tornado.fastwebnet.it...
> "falsim" <Toldino_at_...@hotmail.com.invalid> ha scritto nel
> messaggio news:Xns9576B06BE5...@193.70.192.192...
> > "Andrea" <
and...@pcmweb.it
> wrote in
> > news:b3y7d.6461$
eb....@tornado.fastwebnet.it
:
> > > Salve,
> > > ho cercato nel NG se qualcuno avesse già postato il mio problema o
> > > simile ma nisba....
> > > vorrei fare un controllo su ogni campo della mia maschera.
> > > Come posso:
> > > 1) impedire di inserire un dato diverso da quelli in elenco nelle
> > > combo box
> >   Le Combo posseggono la proprietà SoloInElenco. Per fare quello che
> > chiedi basta impostarla a True.
> >
> > 2) impedire di lasciare vuoto un campo... Campo obbligatorio
> > > con relativo msg di errore.
> >   Puoi farlo in due modi. O impostando a 'No' la proprietà
> > ConsentiLunghezzaZero di quel campo nella *tabella* oppure, via codice,
> > agire sull'evento BeforeUpdate andando a controllare che i campi della
> > maschera siano debitamente compilati.
> >   Ciao.
> Ho idea di essere tarallo:
> non riesco proprio:
> Ho provato tramite
>
>    Dim retValue As Integer
>    Dim strTtl As String
>    Dim strMsg As String
>
>   If Me.nomecampo1 = "" then
>
>    strTtl = "Aggiornamento Database"
>    strMsg = "Il campo è obbligatorio." & vbCrLf & _
>             "Inserire un valore da elenco"
>    retValue = MsgBox(strMsg, vbExclamation, strTtl)
>    Select Case retValue
>
>        Case vbExclamation
>            DoCmd.RunCommand acCmdUndo
>
>    End Select
> end If
>
> ma nnon va!!!!!
> dove sbaglio?
> sembra che nella mia combo box ci sia SEMPRE UN VALORE SCRITTO!?!?!? :-o
> Poi non mi ritorna sul campo incriminato con il comando
>  DoCmd.RunCommand acCmdUndo
> cosa potrei usare?????
> grazie
Bisogna distinguere campi vuoti (Null) dalle stringhe a lunghezza zero ("").
Il tuo if non si verifica perchè il tuo campo è Null, non contiene una
stringa a lunghezza zero.
Prova   If isnull(Me.nomecampo1) then ...
Il msgbox lo puoi mettere su una riga sola, e non ti serve testarne il
valore perchè se se arrivato dentro all'if vuol dire che il campo e vuoto e
quindi devi bloccare l'inserimento, cosa che fai settando Cancel=true e non
col docmd.
Per estendere la cosa agli altri campi ti basta ampliare la condizione
nell'if.
Come ti ha già detto Roberto, test (if), avviso (msgbox) e blocco
dell'inserimento (cancel=true):
  if isnull(campo1) or isnull(campo2) or ...  then
    msgbox("E' obbligatorio compilare tutti i
    campi.",vbokonly+vbexclamation,"Verifica dati")
    cancel=true
  end if
Namor


title: [LUNGO] - Oggetto OLE ed aggiornamento recordset

author: Giulio Severini

text:
Ciao!
Grazie a MA e ad un esempio preso dal SitoComune, sono riuscito ad
implementare la funzionalità che tanto
mi stava a cuore, ovvero dare la possibilità ai miei utenti di
associare ad ogni singolo record un curriculum
vitae, mostrandolo anche in anteprima dentro un oggetto OLE.
Ci sono riuscito. Ma accadono alcune cose bizzare.
PRIMA COSA (che pare non abbia nulla a che fare con l'oggetto OLE):
il controllo NumeroIntervento della maschera subSchedaPrimoContatto -
controllo che è una casella combinata -
non mi si aggiorna più. Esso mostra tre colonne - numeroIntervento,
data, operatore.
Ecco il codice che lo riguarda:
Private Sub cmdAggiungiIntervento_Click()
' Routine di Walter_Il_Mago
Dim progr As Variant
Dim rif As Variant
Dim data As Variant
Dim Operatore As String
Dim rec As Recordset
rif = [Forms]![frmSchedaPrimoContatto]![id]
If IsNull(rif) Then
    MsgBox "Nessun Utente selezionato!", vbCritical, "ATTENZIONE"
    Exit Sub
End If
progr = DMax("Numero", "tblInterventi", "idUtente = " & rif)
If IsNull(progr) Then
    progr = 1
  Else
    progr = progr + 1
End If
insdata:
data = InputBox("Indicare la data dell'intervento:", "Inserimento Nuovo
Intervento", Date)
If Not IsDate(data) Then
    If MsgBox("Vuoi annullare l'inserimento?", vbOKCancel,
"ATTENZIONE") = vbOK Then
        Exit Sub
    Else
        MsgBox "Inserire una data valida!", vbExclamation, "ATTENZIONE"
        GoTo insdata
    End If
End If
' Aggiunta mia
insoperatore:
Operatore = InputBox("Inserire il nome dell'operatore che ha effettuato
l'intervento:", "Inserimento operatore", Operatore)
If IsNull(Operatore) Then
    MsgBox "Inserire un nome valido", vbExclamation, "ATTENZIONE"
    GoTo insoperatore
End If
Set rec = CurrentDb.OpenRecordset("tblInterventi")
    rec.AddNew
    rec!idUtente = rif
    rec!numero = progr
    rec!data = data
    rec!Operatore = Operatore
    rec.Update
rec.Close
MsgBox "Inserito nuovo intervento N. " & progr, vbInformation,
"ATTENZIONE"
Me!NumeroIntervento.Requery
Me!NumeroIntervento = progr
End Sub
ed ecco il codice nell'evento Current() della maschera che lo contiene:
Private Sub Form_Current()
'------------------ Routine di Walter_Il_Mago ---------------
If DCount("*", "tblUtenti") > 0 Then
    Me!NumeroIntervento = Nz(DMax("NumeroIntervento", "tblInterventi",
"idUtente = " & Forms!frmSchedaPrimoContatto!id))
    Me!NumeroIntervento.Requery
End If
Nome.SetFocus
End Sub
Quel che accade ora è che se
ad.es
 il primo record ha 3 interventi, il
secondo 2, il terzo 1, ed il quarto 0,
la casella combinata mi mostra - per tutti i record - l'ultimo valore
visualizzato. Quindi se io vado al
terzo record che ha 1 solo intervento poi mi sposto indietro vedrò 1
solo intervento per tutti. Se passo al
primo record e seleziono 3 dalla casella, vedrò il numero 3 per tutti
i record, anche se ovviamente
andando a tirar giù il menù vedrò il giusto elenco di interventi.
Però...se vado al record con 0 interventi
questo prevale su tutti, cioè vanno a 0 tutti, anche se ancora una
volta la cronologia degli interventi è
intatta per tutti.
Sembra quasi che il codice sull'evento Current() della form non venga
eseguito, invece non è così perchè
ho messo dei breakpoint ed ho visto che l'esecuzione ci si blocca
sopra.
Inutile dire che tutto funzionava alla perfezione prima che
implementassi questa cosa dell'oggetto OLE.
SECONDA COSA:
Tralasciando il codice nei moduli pubblici che è tale e quale a quello
di un esempio del sitocomune, vi mostro
il codice che ho implementato io per adattare l'esempio al mio
database.
La maschera Anagrafica Utente ha un bottone cmdApri con il seguente
codice:
Private Sub cmdApri_Click()
Dim rst As DAO.Recordset
Dim strAttach As String
Set rst = CurrentDb.OpenRecordset("tblUtenti")
    strAttach = cmdlg_file("C:\", "All files (*.*)" & Chr(0) & "*.*" &
Chr(0))
    Forms!frmSchedaPrimoContatto!CurriculumLink.Value = strAttach
    rst.Edit
    rst!CurriculumLink = strAttach
    rst.Update
    rst.Close
End Sub
Questo codice va a pescare il percorso del curriculum e lo mette nel
campo testo 'CurriculumLink' della tabella
tblUtenti, poi associa tale percorso al controllo nascosto
CurriculumLink della form ospite.
Sull'evento DblClick() dell'oggetto OLE c'è questo codice:
Private Sub Curriculum_DblClick(Cancel As Integer)
If Not IsNull(Forms!frmSchedaPrimoContatto!CurriculumLink.Value) Or
(Forms!frmSchedaPrimoContatto!CurriculumLink.Value <> "") Then
    Curriculum.OLETypeAllowed = acOLELinked
    Curriculum.SourceDoc =
Forms!frmSchedaPrimoContatto!CurriculumLink.Value
    Curriculum.Action = acOLECreateLink
    Curriculum.SizeMode = acOLESizeZoom
Else
    DoCmd.SetWarnings False
    MsgBox "Nessun curriculum per l'utente corrente", vbInformation,
"Anteprima Curriculum"
End If
End Sub
che va a pescare il percorso dall'oggetto nascosto e poi apre il
documento.
Il problema nasce dal fatto che se io - dopo aver fatto doppio clic
sull'oggetto OLE e visualizzato il
documento - mi sposto in un altro record con i pulsanti di spostamento
ottengo un messaggio di Access
in cui mi dice che 'un altro' utente ha modificato il record e mi
chiede se Salvare il record, Non salvare,
mettere da parte le modifiche. Per questo, nell'evento Click() di
cmdApri ho messo:
Set rst = CurrentDb.OpenRecordset("tblUtenti")
rst.Edit
    rst!CurriculumLink = strAttach
    rst.Update
    rst.Close
per aggiornare il campo, ma evidentemente non basta.
C'è qualcos'altro che cambia. E credo che quel qualcos'altro sia il
contenuto dell'oggetto OLE.
Inoltre c'è qualcos'altro di strano: a volte devo riallegare il file
per i record perchè, anche se visibile
in anteprima, cliccandoci sopra non accade nulla oppure mi appare un
messaggio in cui mi si dice che il
documento non esiste. Inutile dire che il percorso nel campo
CurriculumLink c'è ancora.
RICAPITOLANDO
Da quando ho implementato questa cosa il controllo NumeroIntervento non
mi fa più il requery
Se allego il curriculum mi chiede se voglio salvare il record perchè
è stato modificato
A volte devo riallegare il file anche se l'anteprima è visibile e il
link è corretto.
Chiedo lumi a voi per salvare questa piccola finezza dell'anteprima,
prima di passare agli hyperlinkaddress!
Sono le 03.50 di sabato, ho sonno e vado a dormire :)
Grazie a tutto il ng :) e buona notte.
EDIT - Ora pare che funzioni ma nel database d'esempio mi richiede di
salvare il record forse perchè l'ho aperto su un altro pc ed
ovviamente il link non era più valido.


title: Stampare dati solo ad orari prefissati

author: Dino

text:
Ciao a tutti sono Dino.Ho questo problema.In un DB ho realizzato una
form dove inserisco dei record a determinati orari. La mia esigenza e'
di poter stampare giornalmente o solo i record mattutini o solo i
record pomeridiani.
Attualmente invece se eseguo una stampa pomeridiana mi vengono
stampati anche l dati mattutini.
In sostanza vorrei impostare un filtro nella query su cui e' basata la
form dove dalle 8 alle 12:00 mi stampi solo la mattina e dalle 14:00
alle 18:00 solo il pomeriggio.
Come posso fare??.
Grazie in anticipo
Dino


title: Stampare dati solo ad orari prefissati

text:
Dino ha scritto:
> In sostanza vorrei impostare un filtro nella query su cui e' basata la
> form dove dalle 8 alle 12:00 mi stampi solo la mattina e dalle 14:00
> alle 18:00 solo il pomeriggio.
E se tu lanci la stampa dalle 12:01 alle 13:59 cosa deve uscire?
Ad ogni modo una funzione può essere questa:
Public Function FiltroOrario(orario) As Boolean
If Not IsDate(orario) Then Exit Function
If Now <= #12:00:00 PM# And orario <= #12:00:00 PM# Then
     FiltroOrario = True
ElseIf Now >= #2:00:00 PM# And orario >= #2:00:00 PM# Then
     FiltroOrario = True
End If
End Function
Inserisci in un modulo questa funzione. Poi nella query che vuoi
filtrare crei questa colonna:
filtro: FiltroOrario([TuoCampoOrario])
e nei criteri di filtro scrivi Vero.
ciao,
Panathos


title: Stampare dati solo ad orari prefissati

text:

Grazie Panathos
Stasera provo e poi ti faccio sapere
Saluti Dino


title: Stampare dati solo ad orari prefissati

text:
On 29 Feb, 17:26, "
nntp.aioe.org
" <
panath...@gmail.com
> wrote:

scusa Panathos il fatto che la tabella portante sia in SQL non
dovrebbe dare problemi vero????
Saluti Dino


title: Stampare dati solo ad orari prefissati

author: Fabrizio Conti

text:
Dino ha scritto:
> scusa Panathos il fatto che la tabella portante sia in SQL non
> dovrebbe dare problemi vero????
Scusa ma... intendi dire che devi applicare la funzione in una query che
legge da un'altra query?
Cmq non dovrebbe dare problemi PURCHE' il campo [orario] venga
interpretato correttamente come data/ora (e non numerico o stringa).
Se non sei sicuro di questo, puoi impostare il tipo dati mettendo, nella
query origine:
orario: cdate([campoOrario])
In questo modo la query legge il campo [campoOrario] dalla tabella, e
restituisce il campo [orario] di tipo data/ora; necessario alla funzione
che ti ho scritto.
ciao,
Panathos


title: Stampare dati solo ad orari prefissati

text:

Ciao Panathos sono Dino.Per SQL tutto OK.
Ho provato il filtro Ho notato pero' che non mi filtra la
data.io
 in
realta ho bisogno di fare una stampa (o mattutina o pomeridiana) solo
goirnaliera.Attualmente invece se inserisco un record alle 14:00(per
esempio) il giorno 1 e in record alle 14:00 il giorno due me li stampa
entrambi.Vorrei invece stampare solo quello giornaliero.
Come posso fare???
Saluti Dino e grazie in anticipo


title: Stampare dati solo ad orari prefissati

author: Fabrizio Conti (Panathos)

text:
On 1 Mar, 20:52, Dino <
verrengia.d...@alice.it
> wrote:
> Ciao Panathos sono Dino.Per SQL tutto OK.
Bene. Se permetti ti invito a quotare i messaggi a cui rispondi,
cancellando le parti non necessarie.
> Ho provato il filtro Ho notato pero' che non mi filtra la
data.io
 in
> realta ho bisogno di fare una stampa (o mattutina o pomeridiana) solo
> goirnaliera.Attualmente invece se inserisco un record alle 14:00(per
> esempio) il giorno 1 e in record alle 14:00 il giorno due me li stampa
> entrambi.Vorrei invece stampare solo quello giornaliero.
Ce l'hai un campo "data", nell'origine dati che vuoi leggere, oltre al
campo "orario"? Se sì è sufficiente aggiungere una riga alla funzione
che ti avevo scritto:
Public Function FiltroOrario(orario, miadata) As Boolean
If Not IsDate(orario) Then Exit Function
' questa riga filtra solo i record del giorno corrente
If Cdate(miadata) <> Date() then exit function
If Now <= #12:00:00 PM# And orario <= #12:00:00 PM# Then
     FiltroOrario = True
ElseIf Now >= #2:00:00 PM# And orario >= #2:00:00 PM# Then
     FiltroOrario = True
End If
End Function
ciao,
Panathos


title: Stampare dati solo ad orari prefissati

text:
On 2 Mar, 16:53, "Fabrizio Conti (Panathos)" <
panat...@gmail.com
>
wrote:

Ciao Panathos
Grazie mille per le delucidazioni funziona tutto benissimo
NB:Scusa per eventuali domande banali
Saluti Dino e alla prossima


title: Ricerca con casella combinata

author: hAPpy

text:
Carissimi,
ho access 2003 e in un db ho messo nella maschera d'apertura, una casella
combinata con questo codice:
Private Sub CasellaCombinata1_AfterUpdate()
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "Generale"
stLinkCriteria = "[ditta]=" & "'" & Me![CasellaCombinata1] & "'"
DoCmd.OpenForm stDocName, , , stLinkCriteria
End Sub
La ricerca avviene perfettamente salvo quando il nominativo contiene un
apostrofo.
Tempo fa avevo trovato qualcosa gironzolando qua e là nel web o, forse, sul
Sitocomune.
Appena avutane necessità ho rifatto la ricerca infruttuosamente. Mi aiutate,
come sempre, a risolvere il problema?
Grazie mille
Antonio


title: Ricerca con casella combinata

author: Gabriele Bertolucci

text:
> stLinkCriteria = "[ditta]=" & "'" & Me![CasellaCombinata1] & "'"
> La ricerca avviene perfettamente salvo quando il nominativo contiene un
> apostrofo.
stLinkCriteria = "[ditta]=" & _
                 "'" & _
                 Replace(Me![CasellaCombinata1],"'", "''") & _
                 "'"
--
PBsoft di Gabriele Bertolucci
www.pbsoft.it
skype:pbsoftsolution


title: Ricerca con casella combinata

text:
"Gabriele Bertolucci" <"info[at]pbsoft[dot]it"> ha scritto nel messaggio
news:1xmiy2plwcpau$.1bbocs6p6v13t$.dlg@40tude.net...

Alla grande!
GRAZIE di esistere!!!!!!!!


title: Verifica su inattività della form..

text:
Buon giorno NG!
La domanda che vi faccio è questa:
è possibile verificare se una maschera precedentemente caricata non è usata
per "x" tempo ?
Vorrei ad esempio che se passa più di un minuto di inattività si verifichi
un evento (es. un msgbox o altro).
L'evento che mi sembrava si avvicinasse di più è In Attesa (Dirty) ma non mi
pare che
funga per niente...
Grazie per le eventuali risposte
Alex3man


title: Verifica su inattività della form..

author: Sergio MAZZA

text:
"alex3man" <
alex...@virgilio.it
> ha scritto nel messaggio
news:YnJM7.21668$4M2.5...@news2.tin.it...

La proprietà Dirty viene impostata a True quando c'è un campo/record con dei
dati inseriti e non ancora scritti in tabella (matitina sul seleziona
record).
Non ho idea se esista una proprietà per testare la inattività di una form;
potresti creartela e forse gestendo l'evento "su corrente" hai una buona
probabilità di risolvere il problema...
Ciao.
--
- - - - - - - - - - - - - - -
Sergio MAZZA
- - - - - - - - - - - - - - -


title: Verifica su inattività della form..

author: cicioo

text:
spett NG
premetto che sto postando da una macchina diversa da quella utilizzata fino
ad ora. Ci tengo ad umilmente scusarmi per i danni che posso aver causato
all'utenti del NG essendo stato ignaro mezzo di propagazione di qualche
virus che qualche grandissimo figlio di B....donna ha pensato di spedire a
qualche altro ignaro utente con una email e che si è attivato alla sola
selezione del msg stesso senza nemmeno aprirlo che a sua volta ..........
,Il virus stesso credo che abbia mandato un sacco di msg prendendo gli
indirizzi dalla cartella della posta spedita e dovrebbe essere contenuto in
un msg che porta come intestazione un nome di persona in inglese e che una
volta fatti i danni si autodistrugge e di cui non ricordo nemmeno il nome
della persona visto che è stato un attimo.Con il presente msg oltre che a
scusarmi per tutto cio,ci tengo ad avvertire altre possibili ignare vittime
oltre che il moderatore, affinchè possa gentilmente far circolare presso
tutti gli altri utenti la notizia ed evitare che si facciano altri danni.
tornando nuovamente a scusarmi  saluto tutti


title: Verifica su inattività della form..

author: Luciano (DOC)

text:
cicioo ha scritto nel messaggio ...
>della persona visto che è stato un attimo.Con il presente msg oltre che a
>scusarmi per tutto cio,ci tengo ad avvertire altre possibili ignare vittime
>oltre che il moderatore,
Questo NG non e' moderato....
Saluti.
Luciano


title: Verifica su inattività della form..

author: Antonio Biso

text:
Luciano (DOC) <
lucia...@sitocomune.com
> wrote in message
9um10c$9bu8b$1...@ID-86073.news.dfncis.de...
>
> cicioo ha scritto nel messaggio ...
>
> >della persona visto che и stato un attimo.Con il presente msg oltre che a
> >scusarmi per tutto cio,ci tengo ad avvertire altre possibili ignare
vittime
> >oltre che il moderatore,
>
> Questo NG non e' moderato....
> Saluti.
>
> Luciano
Sммм?
Non sorprenderti se ti stroncherт i tuoi prossimi post...
Antonio


title: Immagini - Report - La storia infinita

author: Roberto (non quello bravo)

text:
Salve, sono nuovo (anzi, per la verità, usato..., quasi finito).
L'argomento è noto (e famigerato). Ho letto quasi tutto lo scibile in
materia, qui e su sitocomune.
Ho messo un controllo immagine nel report (icona con montagnola e
sole).
Nel CORPO del report su evento formazione ho messo la nota riga di
codice
Me.ControlloImmagine.picture = Me.path_immagine
dove  path_immagine è un campo testo che contiene la path (che viene
regolarmente riprodotto in un'altra parte del report).
1) Quando digito Me. l'autocompletamento NON mi fornisce PICTURE.
Questo mi fa pensare che non lo riconosca.
2) Forzo la cosa e scrivo picture.
3) Se al posto di Me.path_immagine uso una stringa in chiaro (ead
esempio "c:\immagini\img1.bmp") me la carica regolarmente.
4) Se uso la forma indicata Me.ControlloImmagine.picture =
Me.path_immagine mi dà l'errore "Tipo non corrispondente".
Posso avere un aiuto? Grazie!


title: Immagini - Report - La storia infinita

author: Roberto da casa

text:
"Roberto (non quello bravo)" <
ut...@katamail.com
> ha scritto nel messaggio
news:1129894059.5...@f14g2000cwb.googlegroups.com...
>Salve, sono nuovo (anzi, per la verità, usato..., quasi finito).
>
>L'argomento è noto (e famigerato). Ho letto quasi tutto lo scibile in
>materia, qui e su sitocomune.
>
>Ho messo un controllo immagine nel report (icona con montagnola e
>sole).
>Nel CORPO del report su evento formazione ho messo la nota riga di
>codice
>Me.ControlloImmagine.picture = Me.path_immagine
Intanto ti consiglio di modificare tale riga di codice in:
Me!ControlloImmagine.Picture = Nz(Me!path_immagine, "")
In modo che, se la casella di testopath_immagine è Null non ricevi un errore
>
>dove  path_immagine è un campo testo che contiene la path (che viene
>regolarmente riprodotto in un'altra parte del report).
Cosa significa "(che viene regolarmente riprodotto in un'altra parte del
report)" ?
>
>1) Quando digito Me. l'autocompletamento NON mi fornisce PICTURE.
>Questo mi fa pensare che non lo riconosca.
Si, in questo caso per errore l'intellisense non funziona, ma puoi
fregartene altamente.
>2) Forzo la cosa e scrivo picture.
Hai fatto bene.
>3) Se al posto di Me.path_immagine uso una stringa in chiaro (ead
>esempio "c:\immagini\img1.bmp") me la carica regolarmente.
OK.
>4) Se uso la forma indicata Me.ControlloImmagine.picture =
>Me.path_immagine mi dà l'errore "Tipo non corrispondente".
E qui i casi sono tre:
a) Nel corpo del report non hai inserito una casella di testo (al limite non
visibile) chiamata path_immagine ed associata ad un campo che anche lui si
chiama path_immagine.
b) Il campo path_immagine non è di tipo testo
c) Il valore di path_immagine è Null, nel qual caso il consiglio che ti ho
dato qui sopra dovrebbe risolvere il problema.
>
>Posso avere un aiuto? Grazie!
Prego
--
Roberto
-----------------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
----------------------------------------------------


title: Immagini - Report - La storia infinita

text:
Roberto da casa ha scritto:
Mi hai detto di stotuire la ruiga di condice con questa:
> Me!ControlloImmagine.Picture = Nz(Me!path_immagine, "")
Ottima istruzione... (anche se non so cosa sia Nz)
> a) Nel corpo del report non hai inserito una casella di testo (al limite non
> visibile) chiamata path_immagine ed associata ad un campo che anche lui si
> chiama path_immagine.
Questo era l'errore: i nomi erano diversi (anche se simili).
In effetti ora credo d'aver capito il concetto di "associare" una
casella di testo ad un campo: il nome deve essere uguale.
Ora funziona tutto (tutto... è una parola grovva, diciamo abbastanza.
E mancano le stampe e le query (!)).
Avrò ancora bisogno di voi.
Grazie Roberto (sei quello bravo) del tempestivo aiuto.
:)


title: Immagini - Report - La storia infinita

text:
"Roberto (non quello bravo)" <
ut...@katamail.com
> ha scritto nel messaggio
news:1129914720.6...@z14g2000cwz.googlegroups.com...
>Roberto da casa ha scritto:
>Mi hai detto di stotuire la ruiga di condice con questa:
> Me!ControlloImmagine.Picture = Nz(Me!path_immagine, "")
>Ottima istruzione... (anche se non so cosa sia Nz)
>
>
>> a) Nel corpo del report non hai inserito una casella di testo (al limite
non
>> visibile) chiamata path_immagine ed associata ad un campo che anche lui
si
>> chiama path_immagine.
>
>Questo era l'errore: i nomi erano diversi (anche se simili).
>In effetti ora credo d'aver capito il concetto di "associare" una
>casella di testo ad un campo: il nome deve essere uguale.
Non è esatto; avresti potuto chiamare la casella di testo in maniera diversa
dal campo cui é associata, l'importante è che, se i due nomi sono diversi,
nell'istruzione usi il nome della casella di testo e non il nome del campo
ad essa assocoiato; questo poi è vero per i report, in quanto per le
maschere avresti potuto usare indifferentemente il nome della casella di
testo o il nome del campo ad essa associato.
Insomma se tutti questi distinguo ti creano confusione rendi uguali i due
nomi e buonanotte al secchio, fra l'altro è la tecnica usata da Access nelle
sue autocomposizioni.
>
>Ora funziona tutto (tutto... è una parola grovva, diciamo abbastanza.
>E mancano le stampe e le query (!)).
>Avrò ancora bisogno di voi.
>Grazie Roberto (sei quello bravo) del tempestivo aiuto. :)
--



title: Immagini - Report - La storia infinita

text:
Mi rendo conto che è più facile far domande che dare risposte, ma ci
sono costretto... e così vorrei continuare questa discussione.
Quando si lancia il report esso tenta di caricare la sequenza di
immagini che devono comparire nelle varie pagine del report. Ogni volta
vorrebbe arrestarsi perchè, dice lui, non ne conosce la path. In
effetti la conosce e basta inserire una semplice gestione dell'errore
con RESUME NEXT ed alla fine (dopo aver ripetuto varie volte il
tentativo di caricare le immagini) finalmente si posiziona
sull'immagine giusta ed il report giunge a fine.
Ho notato che la routine che viene chiamata continuamente all'avvio è
quella del corpo sull'evento formattazione.
Francamente non capisco perchè debba essere lanciata così tante
volte.
E poi perchè le immagini ad un passaggio ne riconosce la path
perfettamente ed a quello successino no?
Logica vorrebbe che basti eseguire la routine una volta sola quando si
lancia il report o, al massimo (ma non capisco il perchè) per le volte
necessarie a trovare una path valida che non impegni la gestione
dell'errore di una path nulla.
Sono stato chiaro? E la domanda, anzi la risposta, sarà utile a
qualcuno (oltre a me)?
Grazie, di nuovo.


title: Immagini - Report - La storia infinita

text:
"Roberto (non quello bravo)" <
ut...@katamail.com
> ha scritto nel messaggio
news:1130188841.1...@g43g2000cwa.googlegroups.com...
>Mi rendo conto che è più facile far domande che dare risposte, ma ci
>sono costretto... e così vorrei continuare questa discussione.
>
>Quando si lancia il report esso tenta di caricare la sequenza di
>immagini che devono comparire nelle varie pagine del report. Ogni volta
>vorrebbe arrestarsi perchè, dice lui, non ne conosce la path. In
>effetti la conosce e basta inserire una semplice gestione dell'errore
>con RESUME NEXT ed alla fine (dopo aver ripetuto varie volte il
>tentativo di caricare le immagini) finalmente si posiziona
>sull'immagine giusta ed il report giunge a fine.
Se hai fatto tutto correttamente non dovresti avere alcuna segnalazione di
errore: se poi ci dici quale è l'errore potremmo cercare di capire cosa c'è
di sbagliato: mi devi scusare, ma alla mia sfera di cristallo ho dato
qualche giorno di ferie. ;-)
Dovresti ricevere un errore per ogni record che ha Null nel campo Path ed è
normale, visto che l aproprietà Picture NON PUO' avere valore Null.
Riceverai un errore anche nel caso in cui il path memorizzato in un record
non è esatto, magari è relativo ad un file immagine cancellato.
>
>Ho notato che la routine che viene chiamata continuamente all'avvio è
>quella del corpo sull'evento formattazione.
>Francamente non capisco perchè debba essere lanciata così tante
>volte.
E' normale; la sub su formattazione del corpo viene lanciata una volta per
ogni record quindi se devi stampare 1000 record verrà eseguita 1000 volte, e
se le le foto fa caricare nell'unico controllo Immagine sono 1000 quella sub
non potrà che essere eseguita 1000 volte.
Onestamente a me sembrerebbe strano il contrario.
>E poi perchè le immagini ad un passaggio ne riconosce la path
>perfettamente ed a quello successino no?
Io sono dell'avviso che si tratti di errori su record differenti, come
dicevo sopra: stai tranquillo che un record (e quindi una foto) vengono
processati un asola volta durante la stampa del report e non più volte come
sostieni tu.
Dai retta a me, cerca di capire quali sono i record incriminati e cautelati
durante la loro stampa.
>
>Logica vorrebbe che basti eseguire la routine una volta sola quando si
>lancia il report
Una volta solo vengono eseguite le sub su apertura; la sub su formattazione
del corpo non può che essere eseguita tante volte quanti sono i record e
quindi quante sono le foto.
> o, al massimo (ma non capisco il perchè)
eppure è abbastanza elementare come ragionamento.
> per le volte
>necessarie a trovare una path valida che non impegni la gestione
>dell'errore di una path nulla.
E' qui a mio avviso il vero problema: NON DEVI caricare la proprietà Picture
del controllo immagine con un valore Null altrimenti ti viene segnalato
errore; insomma proteggiti con una If o ancora meglio con una funzione Nz.
>
>Sono stato chiaro?
Non moltissimo.
> E la domanda, anzi la risposta, sarà utile a
>qualcuno (oltre a me)?
Se c'è un'altra persona che ha commesso il tuo stesso errore certamente si.
Resta il fatto che la sub su formattazione del corpo del report viene
eseguita tante volte quanti sono i record da stampare: è una regola quindi
nel codice VBA che vai a scrivere tienine il debito conto, ma non con un
Resume Next, ma evitando che l'errore si verifichi: pensa che a mio modesto
parere il Resume Next non dovrebbe esistere: è sicuramente la scorciatoia
per mandare avanti un applicaativo che contiene errori di programmazione: se
viene segnalato un errore sicuramente non viene rispettata una regola di
Access quindi va localizzata e rimossa la causa dell'errore e non dire "vai
avanti lo stesso".
Ti rammento che sul Sito Comune, nella Sezione General ci sono molte FAQ con
molti esempi che potresti studiarti per vedere come gestire correttamente un
datbase con le immagini.
>
>Grazie, di nuovo.
Prego.



title: Immagini - Report - La storia infinita

text:
Prima di tutto devo farti un paio di complimenti. Immagino ti li
avranno già fatti, perchè vengono spontanei e sono certo  meritati.
Sei gentile e competente. E fra le due qualità la più rara e preziosa
è la prima, che preferisco. Ma questa è una mia opinione.
RESUME NEXT
In effetti gestire un errore in modo così brutale è un pessimo modo
di programmare. Ma è stata l'ultima ratio per capire che cosa
accadeva.
CONTROLLO IMMAGINE con valore NULL
Si, c'è qualche valore NULL nel database, che ho sostituito con
un'immagine GIF trasparente di pochi byte. Ho capito che il controllo
vuole trovare comunque qualcosa. Gestire il relativo errore mi sembra
però utile... anche se un buon programma deve evitare di creare
potenziali errori che poi devono essere gestiti.
Ho numerato le immagini in sequenza e le ho posizionati nel relativo
campo di tutti i record del DB ed ho provato a vedere cosa accadeva.
Non capisco perchè ogni immagine debba processarla due volte: la prova
è un MsgBox che si attiva ad ogni passagio.
E non capisco perchè, visto che il DB, per quanto non ordinato, ha le
immagini numerate progressivamente, debba saltare qua e la processando
l'immagine 2 e poi che so 8, la 1 e così via.
Il report, immagino io, potrebbe rifarsi dal primo campo del primo
record e poi proseguire. In effetti sembra che faccia così perchè
alla fine compare regolarmente per prima la scheda 1 con la foto 1 e
poi la 2 con la foto 2 e così via.
Non che cambi qualcosa, alla fine, ma sarebbe utile continuare a capire
come ragiona Access.
1000 record
Se lancia la sub su formattazione del corpo una volta per ogni record
quindi dovrò aspettarmi tempi biblici quando lancio il report?
SITOCOMUNE
E' sicuramente una preziosisssima fonte di informazioni. E la uso
spesso, ma tra i tanti esempi non è facile estrapolare la singola
istruzione od il metodo applicato.
Un suggerimento per tutti: quando si cita il codice di Tizio o di Caio
con il nome esteso dell'articolo e dell'autore sarebbe molto più
facile trovare quel file semplicemente citando il numero della FAQ: ad
esempio 3.107.
Per ora grazie ancora. Sto mettendo in pratica i tuoi suggerimenti.


title: Immagini - Report - La storia infinita

text:
"Roberto (non quello bravo)" <
ut...@katamail.com
> ha scritto nel messaggio
news:1130224163.9...@g47g2000cwa.googlegroups.com...
>Prima di tutto devo farti un paio di complimenti. Immagino ti li
>avranno giŕ fatti, perchč vengono spontanei e sono certo  meritati.
>Sei gentile e competente. E fra le due qualitŕ la piů rara e preziosa
>č la prima, che preferisco. Ma questa č una mia opinione.
Accetto volentieri i tuoi complimnti in quanto spesso capita che qualche
frequentatore mi consideri scortese.
>RESUME NEXT
>In effetti gestire un errore in modo cosě brutale č un pessimo modo
>di programmare. Ma č stata l'ultima ratio per capire che cosa
>accadeva.
Certo se la usi solo in fase di debug del programma va bene, ma lasciarla
dentro definitivamente non mi sembra proprio opportuno.
>CONTROLLO IMMAGINE con valore NULL
>Si, c'č qualche valore NULL nel database, che ho sostituito con
>un'immagine GIF trasparente di pochi byte. Ho capito che il controllo
>vuole trovare comunque qualcosa. Gestire il relativo errore mi sembra
>perň utile... anche se un buon programma deve evitare di creare
>potenziali errori che poi devono essere gestiti.
Il modo piů rapito per coprirsi dalla possibilitŕ che esistano record che
contengono Null nel campo Path č, anziché scrivere:
Me!MioControllo.Picture = Me!Path
scrivere invece:
Me!MioControllo.Picture = Nz(Me!Path, "")
Cosě facendo se Path ha valore Null non ti viene segnalato alcun erroe e il
controlo Immagine non visualizzerŕ alcunché.
>Ho numerato le immagini in sequenza e le ho posizionati nel relativo
>campo di tutti i record del DB ed ho provato a vedere cosa accadeva.
>Non capisco perchč ogni immagine debba processarla due volte: la prova
>č un MsgBox che si attiva ad ogni passagio.
>
>E non capisco perchč, visto che il DB, per quanto non ordinato, ha le
>immagini numerate progressivamente, debba saltare qua e la processando
>l'immagine 2 e poi che so 8, la 1 e cosě via.
>Il report, immagino io, potrebbe rifarsi dal primo campo del primo
>record e poi proseguire. In effetti sembra che faccia cosě perchč
>alla fine compare regolarmente per prima la scheda 1 con la foto 1 e
>poi la 2 con la foto 2 e cosě via.
>Non che cambi qualcosa, alla fine, ma sarebbe utile continuare a capire
>come ragiona Access.
Devi scusarmi ma non riesco a seguirti in questo tuo ragionamento, quindi
non posso esserti utile.
>1000 record
>Se lancia la sub su formattazione del corpo una volta per ogni record
>quindi dovrň aspettarmi tempi biblici quando lancio il report?
Dipende da quanto sono pesanti le foto: comprimile al massimo e poi, per
migliorare i tempi, elimina la barra di progressione che compare mentre
carica le foto; per questo trovo indicazioni sia sul Sito Comune che sul
Sito di Karl.
>SITOCOMUNE
>E' sicuramente una preziosisssima fonte di informazioni. E la uso
>spesso, ma tra i tanti esempi non č facile estrapolare la singola
>istruzione od il metodo applicato.
>
>Un suggerimento per tutti: quando si cita il codice di Tizio o di Caio
>con il nome esteso dell'articolo e dell'autore sarebbe molto piů
>facile trovare quel file semplicemente citando il numero della FAQ: ad
>esempio 3.107.
Io quando cito una FAQ del Sito Comune indico sempre l'autore ed il numero
ed il titolo della FAQ; comunque ti consiglio di usare la Sezione Cerca
nella quale effettuerai la ricerca in base al nome dell'autore e/o in base
ad una o piů parole contenute nel titolo o nel corpo degli articoli, cosě
eviti di consumarti gli occhi a spulciare gli indici di sezione.
>Per ora grazie ancora. Sto mettendo in pratica i tuoi suggerimenti.
Prego



title: Aggiornare il contatore in Access 2000 ?

text:
Dopo aver eliminato tutti i record da una tabella con un campo contatore
(tramite query di eliminazione)
dovrei far ripartire il contatore da 1 prima di lanciare un'altra query di
accodamento che mi riempie la tabella.
Come è possibile far ripartire il contatore da 1 ... tenendo comunque aperto
il db e senza che l0utente debba andare in utilità / compatta database ??
Grazie
Saluti
Andrea


text:
"Andrea" <
in...@sibainformatica.it
> ha scritto nel messaggio
news:UJd38.30677$tl3.9...@twister2.libero.it...
> Dopo aver eliminato tutti i record da una tabella con un campo contatore
> (tramite query di eliminazione)
> dovrei far ripartire il contatore da 1 prima di lanciare un'altra query di
> accodamento che mi riempie la tabella.
>
> Come č possibile far ripartire il contatore da 1 ... tenendo comunque
aperto
> il db e senza che l0utente debba andare in utilitą / compatta database ??
>
> Grazie
> Saluti
> Andrea
>
Vai sul Sito Comune (link qui sotto), Sezione General: penso che la FAQ di
Federico Luciani intitolata "Compattare l'mdb in uso." possa fare al caso
tuo.
Sempre sul Sito Comune, troverai altre FAQ per la compattazione: ad esempio
ce ne č una per compattare tutti i BE di un FE.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


text:
Grazie
Vorrei però ovviare in modo diverso e cioè utilizzare le query pass-through
che mi possano modificare il contatore (in access 2000)
Ho provato con l'istruzione sql:
ALTER TABLE tabella ALTER campocontatore IDENTITY(1,1)
per farlo ripartire da 1 con incremento di 1
Lanciando questa queta query mi chiede una stringa di connessione odbc...
e qui mi blocco .....
Come si prosegue ??
Ciao
Andrea
Roberto da casa <
r.ma...@libero.it
> wrote in message
05e38.30802$tl3.9...@twister2.libero.it...
>
> "Andrea" <
in...@sibainformatica.it
> ha scritto nel messaggio
> news:UJd38.30677$tl3.9...@twister2.libero.it...
> > Dopo aver eliminato tutti i record da una tabella con un campo contatore
> > (tramite query di eliminazione)
> > dovrei far ripartire il contatore da 1 prima di lanciare un'altra query
di
> > accodamento che mi riempie la tabella.
> >
> > Come è possibile far ripartire il contatore da 1 ... tenendo comunque
> aperto
> > il db e senza che l0utente debba andare in utilità / compatta database
??
> >
> > Grazie
> > Saluti
> > Andrea
> >
>
> Vai sul Sito Comune (link qui sotto), Sezione General: penso che la FAQ di
> Federico Luciani intitolata "Compattare l'mdb in uso." possa fare al caso
> tuo.
> Sempre sul Sito Comune, troverai altre FAQ per la compattazione: ad
esempio
> ce ne è una per compattare tutti i BE di un FE.



text:
"Andrea" <
in...@sibainformatica.it
> ha scritto nel messaggio
news:1%t38.34907$tl3.1...@twister2.libero.it...
> Grazie
> Vorrei però ovviare in modo diverso e cioè utilizzare le query
pass-through
> che mi possano modificare il contatore (in access 2000)
>
> Ho provato con l'istruzione sql:
> ALTER TABLE tabella ALTER campocontatore IDENTITY(1,1)
> per farlo ripartire da 1 con incremento di 1
>
> Lanciando questa queta query mi chiede una stringa di connessione odbc...
> e qui mi blocco .....
> Come si prosegue ??
>
> Ciao
> Andrea
>
Mi dispiace, ma, per quelle che sono le mie conoscenze di Access, un campo
contatore può ripartire da1 solo cancellando tutti i record della tabella e
ricompattando il database. Non sono quindi in grado di darti altri
suggerimenti.



title: problema con spazio alla fine casella di testo

author: Walter

text:
Ho il seguente codice
Private Sub Descrizione_Change()
Me.Requery
Me.Refresh
Me.descrizione.SelStart = 255
End Sub
che mi aggiorna una query di selezione visto che nei parametri della
query c'è quesa casella di teso non associata.
questo codice funziona finchè non devo cercare spazi
esempio
se cerco
tubo
funziona e mentre scrivo tubo mi fa vedere correttamente prima tutti i
record che contengono t poi tu poi tub e poi tubo
ma se mi serve cercare tubo ottone è finita
perchè quando provo a fare lo spazio lo cancella e mi riporta alla
fine della parola tubo
avete delle idee da darmi?
grazie mille


author: Alessandro Cara

text:
Walter ha scritto:
> Ho il seguente codice
>
> Private Sub Descrizione_Change()
> Me.Requery
> Me.Refresh
> Me.descrizione.SelStart = 255
> End Sub
>
> che mi aggiorna una query di selezione visto che nei parametri della
> query c'� quesa casella di teso non associata.
> questo codice funziona finch� non devo cercare spazi
> esempio
> se cerco
> tubo
> funziona e mentre scrivo tubo mi fa vedere correttamente prima tutti i
> record che contengono t poi tu poi tub e poi tubo
> ma se mi serve cercare tubo ottone � finita
> perch� quando provo a fare lo spazio lo cancella e mi riporta alla
> fine della parola tubo
> avete delle idee da darmi?
> grazie mille
Dove hai preso il codice?
C'e' un mio vecchio post sull'argomento che tratta questa situazione.
Google fa le bizze e non riesco a ritrovarlo.
Comunque.
Il problema e' dovuto al fatto che lo spazio finale viene eliminato e
quindi la selstart non ne tiene conto.
La requery che usi, insieme ad altro codice che ci deve pur essere, e'
la responsabile del problema.
--
ac


text:
On 15 Lug, 14:11, Alessandro Cara <
a...@ay-1anetwork.it
> wrote:
> Walter ha scritto:
>
>
>
> > Ho il seguente codice
>
> > Private Sub Descrizione_Change()
> > Me.Requery
> > Me.Refresh
> > Me.descrizione.SelStart = 255
> > End Sub
>
> > che mi aggiorna una query di selezione visto che nei parametri della
> > query c'è quesa casella di teso non associata.
> > questo codice funziona finchè non devo cercare spazi
> > esempio
> > se cerco
> > tubo
> > funziona e mentre scrivo tubo mi fa vedere correttamente prima tutti i
> > record che contengono t poi tu poi tub e poi tubo
> > ma se mi serve cercare tubo ottone è finita
> > perchè quando provo a fare lo spazio lo cancella e mi riporta alla
> > fine della parola tubo
> > avete delle idee da darmi?
> > grazie mille
>
> Dove hai preso il codice?
> C'e' un mio vecchio post sull'argomento che tratta questa situazione.
> Google fa le bizze e non riesco a ritrovarlo.
> Comunque.
> Il problema e' dovuto al fatto che lo spazio finale viene eliminato e
> quindi la selstart non ne tiene conto.
> La requery che usi, insieme ad altro codice che ci deve pur essere, e'
> la responsabile del problema.
il codice l'ho scritto e effettivamente su google non ho trovato
nulla.
cmq il codice è solo questo il problema è che elimina lo spazio perchè
gli spazi finali non gli piacciono.
o cambio e metto la ricerca solo quando ho finito di digitare tutto ma
non mi piace avrei preferito così
sopra ho dimenticato che ho una maschera e una sottomaschera, la
sottomaschera ha origine record dalla query che contiene questo
parametro di ricerca like "*" & [mia from mia casella] & "*"


text:

> parametro di ricerca like "*" & [mia from mia casella] & "*"- Nascondi testo citato
>
> - Mostra testo citato -
per il momento ho risolo così
Public ricercadescrizione As String
Private Sub Descrizione_Change()
Me.Requery
Me.Refresh
If ricercadescrizione = Me.descrizione Then
Me.descrizione = Me.descrizione & " "
Me.descrizione.SelStart = 255
ricercadescrizione = Me.descrizione
Else
Me.descrizione.SelStart = 255
ricercadescrizione = Me.descrizione
End If
End Sub
se avete qualcosa di meglio fatemi sapere grazie mille


author: Geppo

text:
Ciao "Walter" <
negrin...@gmail.com
> ha scritto nel messaggio
news:7e98180f-7ba8-43eb...@24g2000yqm.googlegroups.com...
On 15 Lug, 14:22, Walter <
negrinelli...@gmail.com
> wrote:
---cut---
> > > Ho il seguente codice
>
> > > Private Sub Descrizione_Change()
   dim vStr
   vStr = me! descrizione.txt
> > > Me.Requery
> > > Me.Refresh
         me!descrizione = vStr
         me!descrizione.setfocus
> > > Me.descrizione.SelStart = 255
> > > End Sub
--
Ciao
Geppo


text:
....ehmm, volevo scrivere:

vStr = me! descrizione.text


author: miciomao

text:
Anche io avevo risolto con una cosa del genere
'=========
If Right(Me.descrizione.Text, 1) = " " Then
'Non fai una cippa
else
Me.Requery
Me.Refresh
Me.descrizione.SelStart = Len(Me.descrizione.Text)
end if
'=========
Ciao
Alex


text:
On 15 Lug, 14:11, Alessandro Cara <
a...@ay-1anetwork.it
> wrote:
> Dove hai preso il codice?
> C'e' un mio vecchio post sull'argomento che tratta questa situazione.
> Google fa le bizze e non riesco a ritrovarlo.
> Comunque.
> Il problema e' dovuto al fatto che lo spazio finale viene eliminato e
> quindi la selstart non ne tiene conto.
> La requery che usi, insieme ad altro codice che ci deve pur essere, e'
> la responsabile del problema.
> --
> ac
Forse cercavi questo?  :)
http://tinyurl.com/nzxa5h


text:
miciomao ha scritto:

yeeeesssss, illo e'.
La tua situazione era leggermente piu' complicata. ;-{)
--
ac


author: fausto

text:
"Geppo" <c...@tin.it.invalid> ha scritto nel messaggio
news:tZl7m.36675$1s6....@twister2.libero.it...
> Ciao "Walter" <
negrin...@gmail.com
> ha scritto nel messaggio
> news:7e98180f-7ba8-43eb...@24g2000yqm.googlegroups.com...
> On 15 Lug, 14:22, Walter <
negrinelli...@gmail.com
> wrote:
> ---cut---
>> > > Ho il seguente codice
>>
>> > > Private Sub Descrizione_Change()
>
>   dim vStr
>
>   vStr = me! descrizione.text
>
>> > > Me.Requery
>> > > Me.Refresh
>         me!descrizione = vStr
>         me!descrizione.setfocus
>> > > Me.descrizione.SelStart = 255
>> > > End Sub
>
>
>
> --
> Ciao
> Geppo
direi che � molto molto pi� leggibile del mio grazie mille


text:
Ciao "fausto" <
negri...@tiscali.it
> ha scritto nel messaggio
news:4a5f17b5$0$1107$4faf...@reader4.news.tin.it...
---cut---
> direi che � molto molto pi� leggibile del mio grazie mille
grazie a te per il riscontro.
--
Ciao
Geppo


title: Query multiple x report singolo

author: Enzo

text:
Ho sette query di selezione su
di una stessa tabella
che selezionano dati diversi
che servono come origine
dati per dei report che  sono
uguali salvo naturalmente
i campi selezionati dalle
query.
La mia domanda: č possibile
fare un solo report e come
origine dati scegliere una
delle sette query evitando di
fare
un report per ogni query??
Grazie anticipate
Enzo.


title: Azzerare campo contatore

author: Gisco

text:
Salve
Il mio problema e': azzerare da codice un campo contatore, ovviamente
eliminando i record.
Finora ho cancellato e ricreato il campo per azzerarlo, ma lo vedo grezzo
come sistema.
Ciao a tutti
Gisco


title: Azzerare campo contatore

author: Marco M.

text:
Cancella i record e poi compatta.
Marco M.


title: Azzerare campo contatore

author: Lbo da casa

text:
>Il mio problema e': azzerare da codice un campo contatore, ovviamente
>eliminando i record.
mmmh... non usare il contatore per contare.
vedi l'apposita faq sul sito comune.
--------------------------------------------------
ATTENZIONE!
it.comp.database.access diventera' it.comp.appl.access!
cercalo tra i nuovi ng e linkalo!
-----------------------------------
rimuovere NOSPAM. per mandare email
-----------------------------------
il sito comune di it.comp.database.access:
http://members.xoom.it/it_db_access


title: Azzerare campo contatore

text:
Marco M. ha scritto nel messaggio <86nln3$2ql$
1...@nslave2.tin.it
>...
>Cancella i record e poi compatta.
>Marco M.
>
Grazie,Grazie.


title: Azzerare campo contatore

text:
Lbo da casa ha scritto nel messaggio
<
388f856a...@news.interbusiness.it
>...
>>Il mio problema e': azzerare da codice un campo contatore, ovviamente
>>eliminando i record.
>
>mmmh... non usare il contatore per contare.
>
>vedi l'apposita faq sul sito comune.
No, non li uso per contare ma per le relazioni tra tabelle, sfrutto
l'incremento automatico e l'ID univoco per collegare i nuovi record.
Poi a fine anno, con l'azzeramento delle tabelle ho il problema di farli
ripartire da zero.
Grazie per la segnalazione dell'articolo di Emanuele Cesena che mi era
sfuggito tra le faq pur avendole lette piu' volte.
Ciao
Gisco


title: Azzerare campo contatore

author: Stefano Bettini

text:
Gisco ha scritto nel messaggio
>Salve
>Il mio problema e': azzerare da codice un campo contatore, ovviamente
>eliminando i record.
>Finora ho cancellato e ricreato il campo per azzerarlo, ma lo vedo grezzo
>come sistema.
Una bella INSERT INTO farebbe al caso tuo, ma deciditi
a gestire i "contatori" a programma come qualsiasi
programmatore degno di questo nome.
Bye, Ste


title: Maschere e report: intestazioni differenziate

author: M. Rick

text:
Per usarlo in diversi uffici dislocati nello stesso territorio, ho creato un
semplice database il cui scopo è semplicemente registrare dei dati (che
fondamentalmente sono gli stessi per ogni ufficio), per poi visualizzarli e
stamparli in report.
Volevo fare in modo che ogni ufficio, però, potesse visualizzare sulla
propria maschera di inserimento e quindi anche sul report il proprio nome
(es. Ufficio A, Ufficio B, etc etc).
Siccome l'intenzione era di creare un Db generale e distribuirlo, ogni
ufficio, senza entrare fisicamente nella struttura del Db, dovrebbe avere la
possibilità di inserire la propria denominazione e visualizzarla come sopra
detto.
Avevo pensato di rendere possibile ciò creando una semplice tabella con il
campo Denominazione; in questo modo una piccola maschera permetterebbe la
variazione della denominazione.
Però non so come fare in modo che questo dato venga poi visualizzato nella
maschera (non nella barra del titolo, però, proprio all'interno del corpo
maschera come etichetta) e quindi nei report che l'ufficio in questione
stamperà (anche lì come etichetta nel corpo del report).
Qualche suggerimento?
Grazie
Andrea


author: Francesco R.

text:
"M. Rick" <
now...@libero.it
> ha scritto nel messaggio
news:hNttb.121294$e6.43...@twister2.libero.it...

Se ho capito bene cosa vuoi fare, all'apertura di un report leggi la tua
tabella con la descrizione usando la funzione DLookUp, per metterla nella
proprietà Caption di un'etichetta.
Ciao.
--
Francesco G. Rizzoni


title: tabelle ODBC e comportamento strano

text:
ho un db che lavora su archivi dbf collegati tramite odbc, in particolare
gli archivi sono copiati dal programma aziendale e vengono aggiornati
periodicamente tramite un file batch che preleva gli archivi e li copia in
una directory c:\Artchivi dove sono presenti i file .dbc e .dct utili per
creare la connessione.
Ho notato che se effettuo la copia sovrascrivendo gli archivi già esistenti,
nella maggior parte dei casi  i dati che vado a visualizzare nelle varie
meschere sono completamente sballati... questo non succede se prima della
copia vado ad eliminare gli archivi già presenti evitando così la
sovrascrittura...
mi sapreste dare una risposta a questo comportamento molto "strano" che in
teoria non dovrebbe verificarsi?
grazie per l'attenzione
Nicola


title: tabelle ODBC e comportamento strano

author: Sergio MAZZA

text:
"N1C0L4" <
nickbi...@virgilio.it
> ha scritto nel messaggio news:p94Uh.74$Mi2...@nntpserver.swip.net...

Li sovrascrivi con access aperto?
Ciao.
--
Sergio MAZZA


title: tabelle ODBC e comportamento strano

text:
"Sergio MAZZA" <
sergi...@tiscali.it
> ha scritto nel messaggio
news:evtdbs$hv2$2...@tdi.cu.mi.it...

No, con access chiuso lancio il batch che copia i file dal server al
portatile e successivamente avvio il programma che prevede subito la
pressione di un pulsante che avvia la maschera di consultazione...
Nicola


title: ODE ....vantaggio sì/no

author: Tecnoverde-laptop

text:
Ciao a tutti,
premetto che non conosco l'ODE
disponendo di una piccola rete con tre/quattro computer,
è possibile mantenere una licenza per office per una postazione,
e sviluppare tramite ODE applicazione o interfaccie dati
per le altre postazioni di lavoro?
ODE comprende anche la possibilità di creare
file autonomi in Word?
ODE per office 97 è ancora reperibile?
oppure è meglio passare alla successiva versione?
...ammesso che sia stata reinmessa sul mercato!!!
grazie a chiunque risponda
Giuseppe


title: Aiuto scrittura file txt

author: marius

text:
ho bisogno del vostro aiuto per scrivere un file testo prendendo i dati di
una query.
per leggere i dati non ho problema, ho difficolta' nella scrittura in
quanto non l'ho mai fatto sensza seguire una lunghezza fissa per ogni riga
il file mi serve x un programma di messaggi cellulari e' deve essere
scritto in questa maniera
rossi;mario;+3933847884;si;gruppo1;
bianchi;francesco;+3933555684;si;gruppo1;gruppo2;
mi potete aiutare con un esempio semplice visto la mia ignoranza in materia
grazie a tutti
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news
 segnala gli abusi ad
ab...@newsland.it


title: Aiuto scrittura file txt

text:
marius wrote:
> ho bisogno del vostro aiuto per scrivere un file testo prendendo i dati di
> una query.
> per leggere i dati non ho problema, ho difficolta' nella scrittura in
> quanto non l'ho mai fatto sensza seguire una lunghezza fissa per ogni riga
> il file mi serve x un programma di messaggi cellulari e' deve essere
> scritto in questa maniera
>
> rossi;mario;+3933847884;si;gruppo1;
> bianchi;francesco;+3933555684;si;gruppo1;gruppo2;
>
> mi potete aiutare con un esempio semplice visto la mia ignoranza in materia
> grazie a tutti
>
>
Normalmente si fa con VBA utilizzano il metodo  Transfertext
dell'oggetto Docmd (vedi guida). A seguire l'esempio prelevato dalla
medesima
DoCmd.TransferText acExportDelim, "Standard Output", _
     "External Report", "C:\Txtfiles\April.doc"
Quello che chiedi dovrebbe essere un normale ExportDelim in
cui il delimitatore e' il ";"
--
a.cara


title: Aiuto scrittura file txt

author: Alessandro Baraldi

text:
"Alessandro Cara" <
al...@puntablunet.it
> wrote in message
news:VuOee.4989$%
I2....@tornado.fastwebnet.it
[CUT]
> --
> a.cara
Ciao Alessandro.
Ben risentito dopo qualche mese di latitanza.
@Alex
--
Posted via Mailgate.ORG Server -
http://www.Mailgate.ORG


title: Aiuto scrittura file txt

text:
[cut]
>
> Ciao Alessandro.
> Ben risentito dopo qualche mese di latitanza.
>
> @Alex
>
>
Bentrovato. Piu' che latitanza e' galera pura (figurata eh!?).
--
a.cara


title: Aiuto scrittura file txt

text:
"Alessandro Cara" <
al...@puntablunet.it
> wrote in message
news:85Zee.138051$%
I2.1...@tornado.fastwebnet.it

Cosa hai combinato questa volta..? ;-)
Avrai derubato la solita vecchietta al bancomat.
Vatti a fidare degli Alessandri...!
Ciao



title: Problemi di accesso contemporaneo da più pc

author: Paolo

text:
Ho un programma fatto in Access 2000, l'ho installato su un pc con Windows98
e Office2000 Pro (il database dei dati è separato da quello del programma).
Ho fatto un collegamento del programma su un altro pc, che è in rete, al
programma (entrambi i pc vedono il database dei dati con la stessa lettera).
Quando si apre lo stesso form ma si modificano due record diversi Access
avverte che il record è stato modificato da un altro utente e chiede di
salvare le modifiche ecc....... come se si cercasse di modificare lo stesso
record contemporaneamente da due utenti. Questo problema però si presenta
però solo su questa rete mentre in molte altre funziona tutto correttamente
sempre con Windows98 e Office2000. Mi sapete dare qualche dritta???? Non
riesco proprio a trovare cosa possa essere. Grazie.


title: patch sr-2 per office 97

text:
Ciao a tutti!!
Non ne ho trovato la versione in italiano
sapete dirmi se quella disponibile (inglese) si può/deve usare in office97
italano ?
GRAZIE!
--
Posted from
ppp-226-132.25-151.libero.it
 [151.25.132.226]
via Mailgate.ORG Server -
http://www.Mailgate.ORG


title: patch sr-2 per office 97

author: Roberto dal portatile

text:
"skizzo1972" <
skizz...@libero.it
> ha scritto nel messaggio
news:fa5bbf2d8f92043abc1...@mygate.mailgate.org...
> Ciao a tutti!!
>
> Non ne ho trovato la versione in italiano
> sapete dirmi se quella disponibile (inglese) si può/deve usare in office97
> italano ?
>
> GRAZIE!
>
Vai sul Sito Comune (link qui sotto), Sezione Risorse, Sottosezione Patches
& Utilities,  il link Microsoft Office 97 SR-2 Patch (Italiano).
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


title: Trasformare una data in testo...

author: Massimo Pallavicini

text:
E' possibile trasformare una data in testo in una query?
Mi spiego meglio: ho una query di selezione, tra i vari campi c'č un campo
data (gg/mm/aa), allora mi sono creato un'altro campo chiamato mese che
prende i valori dal campo data e mi restituisce la data nel formato (mmmm)
perņ il formato di questo campo č una data. Avrei bisogno di convertire il
formato del campo mese da data a testo: č possibile?
Grazie per l'aiuto
Massimo


title: Trasformare una data in testo...

author: Carlo Costarella

text:
"Massimo Pallavicini" <
maspall...@virgilio.it
> ha scritto nel messaggio
news:7uPId.442759$b5.21...@news3.tin.it...

Sempre che il campo aggiunto alla query non sia presente nella tabella come
data:
in un campo della query:
DataTesto: CStr(Format([Data];"mmmm"))
Ciao, Carlo


title: Trasformare una data in testo...

text:
Perfetto!!!!!
Grazie!
"Carlo Costarella" <
carloantonioco...@virgilio.it
> ha scritto nel
messaggio news:%APId.750987$35.29...@news4.tin.it...



title: problema ad aggiungere tabella

author: Luciano

text:
ciao
sto cercando di aggiungere una tabella al mio db. Il db è formato da 10
tabelle che sono collegate al campo IDUtente (contatore) della tabella
Utenti attraverso il campo IDUtente (numerico) di ogni tabella, con
l'integrità preferenziale.
La tabella Utenti è in relazione uno a molti con il campo IDUtente delle
altre tabelle e tutto funzia bene. A causa di nuove esigenze di dati ho
provato ad aggiungere una tabella con la stessa struttura delle altre e con
la stessa relazione ma quando provo ad inserire dati mi dà l'errore che non
si può perchè non c'è un campo corrispondente nella tabella Utenti. La cosa
mi pare strana perchè la struttura della tabella è identica alle altre, solo
che, a differenza delle altre, è vuota. Ho provato a modificare il tipo di
join ma non cambia nulla. Qualcuno mi può aiutare?
grazie mille


title: problema ad aggiungere tabella

author: giorgio rancati

text:
"Luciano" <
lu.s...@aliceposta.it
> ha scritto nel messaggio
news:EqC2e.1138121$35.42...@news4.tin.it...

Ciao Luciano,
la struttura non c'entra, quando inserisci i dati nella nuova tabella devi
valorizzare il campo IDUtente con un valore presente nella tabella Utenti.
Ciao Giorgio


title: problema ad aggiungere tabella

author: Roberto da casa

text:
"Luciano" <
lu.s...@aliceposta.it
> ha scritto nel messaggio
news:EqC2e.1138121$35.42...@news4.tin.it...
> ciao
> sto cercando di aggiungere una tabella al mio db. Il db è formato da 10
> tabelle che sono collegate al campo IDUtente (contatore) della tabella
> Utenti attraverso il campo IDUtente (numerico) di ogni tabella, con
> l'integrità preferenziale.
[CUT]
Di due l'una: o si tratta di una corsia preferenziale o si tratta di una
integrità referenziale. ;-)
--
Roberto
-----------------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
----------------------------------------------------


title: Somma controlli in sottomaschera

author: lebroki

text:
All'interno di una sottomaschera continua ho un controllo IMPORTO e
un'altro PAGATOSINO, vorrei creare due controlli non associati dove
sommare gli importi, Positivi e Negativi.
Ho provato cosě ma non va
= IIf([IMPORTO];"SI",[PAGATOSINO])
Grazie


title: Somma controlli in sottomaschera

text:
On Mon, 15 Dec 2008 14:58:51 +0100, lebroki <
lebros...@yahoo.it
>
wrote:

ho sbagliato, questa č corretta
=Dsum(IIf([IMPORTO];"SI",[PAGATOSINO]))


title: Somma controlli in sottomaschera

author: IvanDaBologna

text:
lebroki ha scritto:
> On Mon, 15 Dec 2008 14:58:51 +0100, lebroki <
lebros...@yahoo.it
>
> wrote:
>
>> All'interno di una sottomaschera continua ho un controllo IMPORTO e
>> un'altro PAGATOSINO, vorrei creare due controlli non associati dove
>> sommare gli importi, Positivi e Negativi.
>>
>> Ho provato così ma non va
>>
>> = IIf([IMPORTO];"SI",[PAGATOSINO])
>>
>> Grazie
>
> ho sbagliato, questa è corretta
>
> =Dsum(IIf([IMPORTO];"SI",[PAGATOSINO]))
prima di tutto solo punti e virgole!
=Dsum(IIf([IMPORTO];"SI",[PAGATOSINO]))
diventa
=Dsum(IIf([IMPORTO];"SI";[PAGATOSINO]))
e poi non capisco l' IIF.
La condizione è insita nel parametro e l'hai gia messa.
=Dsum([IMPORTO];"SI",[PAGATOSINO])
IvanDaBologna


title: Formato data

text:
Ciao,
In una query devo rappresentare il mese di un campo data nel formato mm.
Ho provato con  Format(Month([AssunzioneDal]);"mm") con tutte le variabili
che mi venivano in mente ma con scarsi risultati.
Grazie a tutti!
Paolo


title: Formato data

author: Nina

text:
"Paolo" <
paolo...@tiscali.it
> ha scritto nel messaggio
news:hY71g.19682$QM3....@tornado.fastwebnet.it...

Ciao Paolo,
è sufficiente Format([AssunzioneDal];"mm")
Ciao
Nina


title: Aggiornamento db

author: sass

text:
Ciao ragazzi,
è la prima volta che posto ho sempre partecipatato al forum solo leggendo
le mail e traendone grandi insegnamenti visto che molti  problemi sono
comuni lavorando con access.
Sono bloccato con una rogna e volevo qualche dritta da Voi esperti.
Ho la neccessità di aggiornare automaticamente o a commando un database in
access.
Il problema con cui mi scontro è che il gestionale mi fornisce i dati dei
prodotti da inserire nel database solo in formato .txt,
quindi io ho solo otto campi divisi dal separatore (;),
punto e virgola, ove vi è inserito la descrizione prodotto,
codice, quantità e così via...che devono essere inseriti all'interno dei
campi del database.
Con importa tabelle non va bene poichè devo aggiornare il db 3-4 volte al
giorno, e non
posso far fare questa procedura il cliente. Con collega tabelle ho provato
ma non mi funziona
non riesco con asp ad estrarre i dati dal db collegato al file txt.
Se qualcuno mi può aiutare gli sarei molto grato.
Grazie molte Stefano.


title: Aggiornamento db

author: MegaMax

text:
> Con importa tabelle non va bene poichè devo aggiornare il db 3-4 volte al
> giorno, e non
> posso far fare questa procedura il cliente. Con collega tabelle ho provato
> ma non mi funziona
> non riesco con asp ad estrarre i dati dal db collegato al file txt.
> Se qualcuno mi può aiutare gli sarei molto grato.
Se il cliente ha access sul sistema con DB puoi fare una funzione VBA che
3-4 volte al giorno importa i dati con docmd.transferDB o quello che è.
Max


title: Aggiornamento db

text:
No il cliente ha un gestionale che riesce a fornire solo un file in formato
txt.
La scelta di access la stò valutando io adesso.
Grazie
Ciao


title: Aggiornamento db

text:
"sass" <
a...@aaa.it
> ha scritto nel messaggio
news:XFql7.107572$TS4.9...@news2.tin.it...

Potresti usare Access Developper edition, così il cliente non ha la
necessità di possedere office.
Però così devi fare un investimento tu....
Max


title: R: [OT] secondo voi e' un furto ???

author: Paolo Simone

text:
Gianni <
gian...@hotmail.com
> wrote in message
87s5fr$pdo$1...@pegasus.tiscalinet.it...
> scusate l' ot, ma voi siete i migliori e volevo togliermi questo dubbio
...
>
> ci hanno chiesto L. 1.000.000 (un milione) per importare Anag. Articoli /
> Clienti e Fornitori da AS400 a Windows (Sigla ++), daccordo che il lavoro
va
> pagato, ma francamente mi sembra eccessivo ...
> cosa ne pensate ?
Bisgona vedere come sono le strutture dei DB nei due ambienti. Potrebbero
esserci molte tabelle correlate.
Io ho fatto un lavoro simile, e Ti assicuro che possono emergere varie
problematiche.
Ti consiglio comunque di farTi fare piu preventivi.
Ciao
Paolo


title: R: [OT] secondo voi e' un furto ???

author: frankie

text:
Caro Gianni,
quello che si paga non č solo il tempo impiegato, ma anche il know-how che
ci metti.
In quest'ottica potrebbe essere anche troppo poco...
frankie
Gianni <
gian...@hotmail.com
> wrote in message
87s5fr$pdo$1...@pegasus.tiscalinet.it...
> scusate l' ot, ma voi siete i migliori e volevo togliermi questo dubbio
...
>
> ci hanno chiesto L. 1.000.000 (un milione) per importare Anag. Articoli /
> Clienti e Fornitori da AS400 a Windows (Sigla ++), daccordo che il lavoro
va
> pagato, ma francamente mi sembra eccessivo ...
> cosa ne pensate ?
>
> Grazie da Gianni
>
>
>
>


title: R: [OT] secondo voi e' un furto ???

author: Gianni

text:
Grazie a Tutti
e buon lavoro ...


title: R: [OT] secondo voi e' un furto ???

author: Carlo Ve

text:
Paolo Simone <
007_...@tin.it
> ha scritto nel messaggio
<87sh51$h33$
1...@nslave2.tin.it
>...
>
>Gianni <
gian...@hotmail.com
> wrote in message
>87s5fr$pdo$1...@pegasus.tiscalinet.it...
>> scusate l' ot, ma voi siete i migliori e volevo togliermi questo dubbio
>...
>>
>> ci hanno chiesto L. 1.000.000 (un milione) per importare Anag. Articoli /
>> Clienti e Fornitori da AS400 a Windows (Sigla ++), daccordo che il lavoro
>va
>> pagato, ma francamente mi sembra eccessivo ...
>> cosa ne pensate ?
Visto che mi e' capitato di farlo per lavoro ti confermo che la quantita' di
lavoro dipende molto dalla complessita' delle tabelle in cui si devono
importare i dati,
quindi anche per sole anagrafiche articoli e clienti fornitori ci possono
volere anche una giornata di lavoro, metti un  costo orario almento 100.000
cadaora
e forse ci siamo
Carlo Ve


title: Diverse filosofie di gestione di un magazino

text:
Sto riflettendo ora su alcune questioni.
Capisco dai messaggi che leggo che, normalmente, dovendo gestire un qualche
tipo di magazino... si hanno una tabella con le giacenze aggiornate ad una
certa data, ed una con tutte le movimentazioni/entrate/uscite.
Le giacenze attuali di solito vengono calcolate sum momento, per ogni record
del magazino calcolo le entrate/uscite totali e le sommo alle giacenze... ed
ottengo la giacenza atuale.
Ho detto giusto?
Io invece per gestire un magazino ho semplicemente una tabella con le
giacenze, sempre aggiornata, e la aggiorno continuamente, quando le cose
entrano/esco dal magazino.
Ed ho delle tabelle di "storico" con registrate tutte le operazioni fatte.
Io lo faccio così perchè è il primo modo che mi è venuto in mente.
Chiedo a voi esperti: Qual'è il modo migliore?
Quali sono i vantaggi/svantaggi di queste due filosofie?
La mia mi pare molto più semplice... ma se spesso si usa l'altra deve avere
dei vantaggi che ora mi sfuggono... :-|
Qualunque commento è gradito.
Ciao, Max


author: LaLo

text:
"MegaMax" <
a...@a.com
> ha scritto nel messaggio
news:iOe27.26905$q77.1...@news2.tin.it...

Secondo me dipende dal tipo di elaborazione che esegui; mi spiego meglio.
Supponi di avere una tabella articoli con la giacenza ad inizio giornata; se
la maggior parte delle procedure lavora con una situazione ad inizio
giornata, ti conviene aggiornare la giacenza in modalità batch (a fine
giornata). Se invece le procedure utilizzano una giacenza in tempo reale,
allora conviene aggiornare immediatamente tale valore. Facendo dei raffronti
in altri contesti, ad esempio la gestione dei c/c bancari, conviene gestire
una situazione aggiornata in tempo reale, in quanto ogni operazione
determina la liquidità, il saldo contabile e altri dati che autorizzano il
cliente ad eseguire o meno determinate operazioni.
Bye
LaLo


author: Bolo

text:
MegaMax <
a...@a.com
> wrote in message iOe27.26905$q77.1...@news2.tin.it...



text:
MegaMax <
a...@a.com
> wrote in message iOe27.26905$q77.1...@news2.tin.it...
> Io invece per gestire un magazino ho semplicemente una tabella con le
> giacenze, sempre aggiornata, e la aggiorno continuamente, quando le cose
> entrano/esco dal magazino.
> Ed ho delle tabelle di "storico" con registrate tutte le operazioni fatte.
>
> Io lo faccio così perchè è il primo modo che mi è venuto in mente.
> Chiedo a voi esperti: Qual'è il modo migliore?
> Quali sono i vantaggi/svantaggi di queste due filosofie?
> La mia mi pare molto più semplice... ma se spesso si usa l'altra deve
avere
> dei vantaggi che ora mi sfuggono... :-|
>
> Qualunque commento è gradito.
>
> Ciao, Max
>
>
La tua filosofia mi pare giusta, ma a volte è utile anche sapere le giacenze
ad una certa data,
quindi io di solito ho una tabella su cui memorizzo le giacenze progressive
per mese.
Ciao
Bolo


text:
"Bolo" <
s.b...@tiscalinet.it
> ha scritto nel messaggio
news:9ica4q$ok9$1...@fe2.cs.interbusiness.it...
> La tua filosofia mi pare giusta, ma a volte è utile anche sapere le
giacenze
> ad una certa data,
> quindi io di solito ho una tabella su cui memorizzo le giacenze
progressive
> per mese.
Mmmh... interessante... ci puoi fare un sacco di statistiche... bello! :-)
Ciao, Max


author: Roberto in campagna

text:
"MegaMax" <
a...@a.com
> ha scritto nel messaggio
news:iOe27.26905$q77.1...@news2.tin.it...

In generale si dice che in una tabella di un database relazionale non si
memorizzano mai delle informazioni (quindi campi calcolati) ma solamente dei
dati; e questo proprio per una semplificazione procedurale. Infatti
memorizzando il risultato di un calcolo in un campo di una tabella, occorre
fare in modo che, ogni volta che si interviene per inserire, cancellare o
modificare i dati che sono alla base di tale campo calcolato, si debba
contestualmente modificare anche il valore del campo calcolato.
Ritornando al problema da te messo in discussione, se in una tabella mi
memorizzo un campo calcolato con la giacenza aggiornata per un determinato
articolo, dovrò prevedere di aggiornare tale campo ogni volta che aggiungo,
cancello o modifico una entrata o una uscita; a mio avviso ciò sarebbe una
complicanza procedurale inutile. Molto meglio ottenere il valore della
giacenza attuale con una query di raggruppamento sul codice articolo basata
sul Left Join tra la tabella prodotti (contenente anche la giacenza ad una
certa data) e la/e tabelbella/e movimenti.
Comunque, se la gestione di magazzino fosse fatta solo a quantità, la scelta
procedurale potrebbe essere ancora discussa, ma se la gestione di magazzino
va fatta (come è norma) anche a valore, la valorizzazione della giacenza può
essere fatta solo in maniera dinamica. Quale prezzo unitario useresti per
valorizzare la giacenza memorizzata in una tabella? Se usi l'ultimo prezzo
di acquisto rischi quasi sempre di sovrastimare il valore del magazzino (i
prezzi normalmente aumentano nel tempo); le conseguenze possono essere
deleterie: rischi di pagare più tasse, visto che il valore di magazzino è
una posta attiva del bilancio di una azienda. L'alternativa sarebbe quella
di valorizzare le giacenze a prezzo standard; questo non è però accettato
fiscalmente; fiscalmente è richiesta la valorizzazione delle giacenza in
base ad un prezzo medio determinato con il criterio FIFO (First Input First
Output). Questa tecnica prevede una valorizzazione dei movimenti nello
stretto ordine cronologico in cui avvengono: le entrate vanno valorizzate al
prezzo di acquisto e le uscite al valore medio che la giacenza ha al momento
in cui avviene l'uscita.
A questo punto, se il valore della giacenza va calcolato in maniera
dinamica, tanto vale calcolare in maniera dinamica anche la sua quantità.
Questo è il mio punto di vista, che se vero, porta a "vincere" questo
criterio di tenuta del magazzino 2 a zero sull'altro. ;-)
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


text:
> Questo è il mio punto di vista, che se vero, porta a "vincere" questo
> criterio di tenuta del magazzino 2 a zero sull'altro. ;-)
Il problema è che calcolare tutto dinamicamente ha un peso "mostruoso" sul
computer.
Cioè, metti che ho un magazino, nel magazino ho svariate decine di migliaia
di articoli, per, almeno 10'000 righe (nella tabella delle giacenze)
Ogni giorno arriva un tir di articoli che entrano, ed un tir di altri
articoli se ne escono.
Supponi che devi rispondere in tempo reale e velocemente alla domanda
"Quanti pezzi ho in magazino dell'articolo Q200L ?"
Devi prendere tutti i record di quell'articolo dalle giacenze (metti qualche
centinaio), e poi devi aplicarci tutte le movimentazioni (metti che siano
svariate migliaia perchè le tue giacenze sono aggiornate a 3 mesi fà).
Quanto ci metti a calcolare la giacenza? Secondo me ci vuole un sacco di
tempo.... troppo.
Oppure... 1000 volte peggio, pensa che vuoi vedere sullo schermo una banale
listga delle giacenze di tutti gli articoli a magazino, e vuoi poterla
scorrere/filtrare/stampare e cose simili...
Il sistema delle giacenze calcolate dinamicamente lo capisco.... mi sfugge
come riesca ad essere efficente.
Metti che devi fare una movimentazione... ogni volta devi ricalcolarti la
giacenza per vedere se puoi movimentare quell'articolo.
Altra domanda, diversa: prima parlavi di valorizzare il magazino, come lo
faresti?
Metti che oggi prendi 10   Q200 a 2000£ l'uno
tra un mese prendi 30    Q200 a 2100£ l'uno
tra 3 mesi prendi 5   Q200   a 1950£ l'uno.....
Per ogni acquisto crei un record nuovo se il prezzo è diverso da quelli già
presenti. Mi sembra l'unico modo...
Terresti conto anche delle date di entrata? e se si... dove? nella tabella
delle giacenze? od in quella delle movimentazioni (entrate/uscite)?
Ciao, Max


text:
"MegaMax" <
a...@a.com
> ha scritto nel messaggio
news:8Ej27.33526$q77.2...@news2.tin.it...
> Altra domanda, diversa: prima parlavi di valorizzare il magazino, come lo
> faresti?
>
> Metti che oggi prendi 10   Q200 a 2000£ l'uno
> tra un mese prendi 30    Q200 a 2100£ l'uno
> tra 3 mesi prendi 5   Q200   a 1950£ l'uno.....
> Per ogni acquisto crei un record nuovo se il prezzo è diverso da quelli
già
> presenti. Mi sembra l'unico modo...
Tra l'altro mi sovviene un altro problema.... per poter fare quanto sopra
devi avere negli articoli Q200 a magazino qualche rifrimento che ti permetta
di distinguere quelli che hai pagato 2000 da quelli 2100 da quelli 1950.
Però.... non so, se devi solo valorizzare il magazino non conta... però se
devi, metti, vendere i Q200 in base a quanto li hai pagati... allora devi
poterli distinguere.
Però continuando a pensarci se i Q200 sono identici è inutile fare
distinzioni(a livello di magazino), anche se li hai pagati un prezzo
diverso. L'importante è ter conto del costo complessivo quando fai il prezzo
di vendita (10x2000+30x2100+5x1950) così poi i conti tornano.
Ciao, Max (con questo messaggio mi sa che ho sprecato della banda :-)


text:
"Roberto in campagna" <
r.ma...@libero.it
> ha scritto nel messaggio
news:Obj27.17923$eB4.6...@news.infostrada.it...
Dimenticavo un'altro vantaggio: puoi calcolarti le giacenze ad una qualsiasi
data.



text:
"LaLo" <
reg...@lltin.it
> ha scritto nel messaggio
news:9ic017$9a0$1...@pluto.news.dsi.unimi.it...

Perdonami, ma è proprio nella gestione di un c/c bancario che non andrei mai
a registrare in una tabella il saldo liquido ed il saldo contabile, ma me li
andrei appunto a determinare (e non a leggere) con un calcolo in tempo
reale, per evitare le complicanze di cui accennavo nel mio precedente
messaggio.
Nella tua ipotesi non potresti inoltre determinare in tempo reale gli
interessi attivi e passivi maturati; per far questo devi tenere conto
dell'estratto conto scalare con i saldi per valuta al livello di giornata,
tenendo anche conto delle antergate e delle postergate e delle commissioni
di massimo scoperto; se le cifre in gioco sono consistenti, in un conto
corrente in rosso l'importo degli interessi passivi e delle commissioni di
massimo scoperto possono risultare determinnti nel determinare la
disponibilità.



text:
"MegaMax" <
a...@a.com
> ha scritto nel messaggio
news:8Ej27.33526$q77.2...@news2.tin.it...

Do naturalmente per scontato che tutte le tabelle siano indicizzate ANCHE
sul codice articolo; ammesso che per determinare la giacenza di un prodotto
devi selezionare, raggruppare e sommare un migliaio di record indicizzati
quanto tempo vuoi che impieghi Access con una query che deve fornirti una
sola riga? Secondo me una frazione di secondo; se poi sei scettico puoi
sempre farti un database di prova popolando una tabella con un paio di
clicli For ... Next, provi e poi decidi.
E' innegabile che a determinarti una giacenza in maniera dinamica il PC
impiega più tempo che a ricercare un solo record e leggere il valore di un
suo campo; ma a mio avviso la soluzione va scartata solo se il "ritardo"
risulti significativo e umanamente percepibile; se così non fosse, tutte le
obiezioni in merito risultano irrilevanti; se poi devi stampare tutte le
giacenze, i tempi di stampa coprono qualsiasi tempo di elaborazione.
Inoltre il continuo aggiornamento della quantità dell'archivio giacenze
inciderà in qualche modo nei tempi di elaborazione.
Comunque se le dimensioni degli archivi in gioco sono quelle da te
ipotizzate, voglio pensare che ti doti di un hardware adeguato, come minimo
non userai PC di tipo domestico ma almeno macchine della classe delle
workstation con biprocessore, dischi SCASI, Bus con velocità non inferiore
ai 133 MHz, RAM da 256+256 MB con una velocità non inferore ad 1 GHz; ancora
meglio se sceglierai macchine nate per essere usate come server.
Quello che intendevo discutere era una filosofia elaborativa; naturalmente
devi dotarti di strumenti adeguati per realizzarla, sempre che tu sia
convinto che valga la pena attuarla.
> Altra domanda, diversa: prima parlavi di valorizzare il magazino, come lo
> faresti?
>
> Metti che oggi prendi 10   Q200 a 2000£ l'uno
> tra un mese prendi 30    Q200 a 2100£ l'uno
> tra 3 mesi prendi 5   Q200   a 1950£ l'uno.....
> Per ogni acquisto crei un record nuovo se il prezzo è diverso da quelli
già
> presenti. Mi sembra l'unico modo...
> Terresti conto anche delle date di entrata? e se si... dove? nella tabella
> delle giacenze? od in quella delle movimentazioni (entrate/uscite)?
In una gestione a valore di magazzino con il sistema di valorizzazione FIFO,
normalmento ogni movimento viene preso in carico valorizzato.
Le entrate vengono valorizzate in base al prezzo di acquisto. Normalmente a
monte di un sottosistema di magazzino c'è un sottosistema ordini necessario
sia alla gestione acquisti che alla determinazione della consistenza del
conto fatture da ricevere (altra voce importante nella determinazione del
debito in un bilancio aziendale, ricavata valorizzando gli ordini passivi
non ancora evasi). Il prezzo di acquisto di un entrata si ottiene
ricavandola da quanto determinato nel relativo ordine di acquisto. Se non
esiste una sottosistema ordini il prezzo di acquisto va digitato insieme
alla quantità.
Le uscite vanno invece valorizzate ad un prezzo medio determinato dividendo
il valore della giacenza determinato prima del movimento di uscita per la
quantità della giacenza.
Il prezzo di acquisto non va memorizzato nella tabella giacenze: se non
esiste un sottosistema ordini va memorizzato nei record delle entrate, in
caso contrario è memorizzato nella tabella dettaglio ordini e nel record
entrate sarà memorizzato il numero d'ordine.
>
> Ciao, Max



text:
"MegaMax" <
a...@a.com
> ha scritto nel messaggio
news:mRj27.33624$q77.2...@news2.tin.it...

In prima istanza la valorizzazione del magazzino non serve a determinare il
prezzo di vendita di un prodotto; il valore di magazzino va determianto in
base al valore medio di acquisto; poichè tale valore ha implicazioni
fiscali, deve rispettare leggi e regolarmenti fiscali ben precisi.
Invece il prezzo di vendita di un prodotto è determinato, oltre che dal
prezzo medio di acquisto anche dalle leggi di mercato, dalle politiche
commerciali e dalle risultanze della contabilità generale di una azienda
(ancora meglio se è stata meccanizzata una contabilità industriale analitica
a livello di prodotto).
Insomma la gestione di magazzino è un sottosistema di un sistema aziendale
integrato più complesso; all'ufficio acquisti serve solo le giacenze a
quantità, ma ad altri enti aziendali serve essenzialmente il valore delle
giacenze calcolate secondo criteri ben precisi.



text:
"Roberto in campagna" <
r.ma...@libero.it
> ha scritto nel messaggio
news:o_k27.359$1u2....@news.infostrada.it...
>
> "LaLo" <
reg...@lltin.it
> ha scritto nel messaggio
> news:9ic017$9a0$1...@pluto.news.dsi.unimi.it...
> > "MegaMax" <
a...@a.com
> ha scritto nel messaggio
> > news:iOe27.26905$q77.1...@news2.tin.it...
[CUT]

Ho fatto un paragone con una realta' che conosco bene ma che c'entra poco
con l'ambiente relazionale (per lo meno nella mia modesta esperienza)!! Hai
ragione tu se si gestisce il tutto con un DBMS, ma le cose variano se si
passa ad altri paradigmi.
Bye
LaLo


text:
"Roberto in campagna" <
r.ma...@libero.it
> ha scritto nel messaggio
news:n_k27.358$1u2....@news.infostrada.it...
>
> "Roberto in campagna" <
r.ma...@libero.it
> ha scritto nel messaggio
> news:Obj27.17923$eB4.6...@news.infostrada.it...
>
> Dimenticavo un'altro vantaggio: puoi calcolarti le giacenze ad una
qualsiasi
> data.
Ganzo, a livello statistico è una cosa potente :-)
Max


text:
"Roberto in campagna" <
r.ma...@libero.it
> ha scritto nel messaggio
news:2pm27.1254$1u2....@news.infostrada.it...
> Do naturalmente per scontato che tutte le tabelle siano indicizzate ANCHE
> sul codice articolo; ammesso che per determinare la giacenza di un
prodotto
> devi selezionare, raggruppare e sommare un migliaio di record indicizzati
> quanto tempo vuoi che impieghi Access con una query che deve fornirti una
> sola riga? Secondo me una frazione di secondo; se poi sei scettico puoi
> sempre farti un database di prova popolando una tabella con un paio di
> clicli For ... Next, provi e poi decidi.
In effetti mi sa che hai ragione, appena ho tempo farò qualche prova.
Il problema si fà più pesante se devi calcolare tutte le giacenze.... farò
delle prove :-)
> Comunque se le dimensioni degli archivi in gioco sono quelle da te
> ipotizzate, voglio pensare che ti doti di un hardware adeguato, come
minimo
Questo è una delle questioni non risolte del problema che stiamo
affrontando... non abbiamo idea della quantita di articoli che il programma
dovrà gestire, e non abbiamo modo di prevederla... vabbeh... :-)
> non userai PC di tipo domestico ma almeno macchine della classe delle
> workstation con biprocessore, dischi SCASI, Bus con velocità non inferiore
> ai 133 MHz, RAM da 256+256 MB con una velocità non inferore ad 1 GHz;
ancora
> meglio se sceglierai macchine nate per essere usate come server.
Diciamo che da spiegare è lunga... in sostanza usereme un PC
spannologicamente domestico... considerato che non calcoliamo nulla in modo
dinamico, e che il tutto sarà monoutente... dovrebbe bastare ed avanzare :-)
> Quello che intendevo discutere era una filosofia elaborativa; naturalmente
> devi dotarti di strumenti adeguati per realizzarla, sempre che tu sia
> convinto che valga la pena attuarla.
Giusto... :-)
> Il prezzo di acquisto non va memorizzato nella tabella giacenze: se non
> esiste un sottosistema ordini va memorizzato nei record delle entrate, in
> caso contrario è memorizzato nella tabella dettaglio ordini e nel record
> entrate sarà memorizzato il numero d'ordine.
Mmm... non capisco una cosa... metti che hai le giacenze aggiornate ad
oggi... i quantitativi in giacenza devono pur avere un prezzo, essendo
giacenze non hanno più un corrispettivo nelle tabelle delle entrate/uscite,
quindi devono avere un loro prezzo.
Cioè, la vedo così:
Inizio) ho il magazino vuoto, nessuna giacenza....
Compro/vendo) aggiungo tanti record alle tabelle di entrate/uscite, con
quantità e prezzi di entrata/uscita, calcolati come dicevi tu prima
Aggiorno le giacenze) calcolo tutte le giacenze, ogni articolo ha il suo
prezzo medio, aggiorno la tabella delle giacenze con le quantità ed i prezzi
calcolati, storicizzo e svuoto le tabelle di entrata/uscita (così velocizzo
il sistema)
Calcolo giacenze) Calcolo le nuove entrate/uscite, le sommo alle vecchie
giacenze in tabella(facendo la media pesata dei prezzi), ed ho le
quantià/prezzi aggiornati.
Funziona così?
Grazie, Max


text:
> Ho fatto un paragone con una realta' che conosco bene ma che c'entra poco
> con l'ambiente relazionale (per lo meno nella mia modesta esperienza)!!
Hai
> ragione tu se si gestisce il tutto con un DBMS, ma le cose variano se si
> passa ad altri paradigmi.
Ad esempio?
Max


text:
"MegaMax" <
a...@a.com
> ha scritto nel messaggio
news:3Px27.40496$q77.2...@news2.tin.it...

Reticolare, gerarchico, sistemi proprietari (vedi Bull).
Bye
LaLo


text:
"MegaMax" <
a...@a.com
> ha scritto nel messaggio
news:NLx27.40491$q77.2...@news2.tin.it...
[CUT]
>
> > Il prezzo di acquisto non va memorizzato nella tabella giacenze: se non
> > esiste un sottosistema ordini va memorizzato nei record delle entrate,
in
> > caso contrario è memorizzato nella tabella dettaglio ordini e nel record
> > entrate sarà memorizzato il numero d'ordine.
>
> Mmm... non capisco una cosa... metti che hai le giacenze aggiornate ad
> oggi... i quantitativi in giacenza devono pur avere un prezzo, essendo
> giacenze non hanno più un corrispettivo nelle tabelle delle
entrate/uscite,
> quindi devono avere un loro prezzo.
Il prezzo medio delle giacenze lo determini dividendo il valore del
magazzino di quel prodotto per la sua quantità in giacenza.
>
> Cioè, la vedo così:
>
> Inizio) ho il magazino vuoto, nessuna giacenza....
>
> Compro/vendo) aggiungo tanti record alle tabelle di entrate/uscite, con
> quantità e prezzi di entrata/uscita, calcolati come dicevi tu prima
>
> Aggiorno le giacenze) calcolo tutte le giacenze, ogni articolo ha il suo
> prezzo medio, aggiorno la tabella delle giacenze con le quantità ed i
prezzi
> calcolati, storicizzo e svuoto le tabelle di entrata/uscita (così
velocizzo
> il sistema)
>
> Calcolo giacenze) Calcolo le nuove entrate/uscite, le sommo alle vecchie
> giacenze in tabella(facendo la media pesata dei prezzi), ed ho le
> quantià/prezzi aggiornati.
>
> Funziona così?
>
Esatto intendevo così; mi ero però dimenticato di precisare che nella
tabella prodotti, dove memorizzi la quantità della giacenza ad una certa
data, memorizza anche il valore complessivo di tale quantità, calcolato come
detto precedentemente. Questo ti servirà come partenza per continuare a
determinare il valore medio
necessario a determinare il valore delle uscite.
> Grazie, Max
>
>


text:
"Roberto in campagna" <
r.ma...@libero.it
> ha scritto nel messaggio
news:mTF27.342$2v6....@news.infostrada.it...
> Esatto intendevo così; mi ero però dimenticato di precisare che nella
> tabella prodotti, dove memorizzi la quantità della giacenza ad una certa
> data, memorizza anche il valore complessivo di tale quantità, calcolato
come
> detto precedentemente. Questo ti servirà come partenza per continuare a
> determinare il valore medio
> necessario a determinare il valore delle uscite.
Grazie, mo ho capito :-)
Domanda... c'è in rete o da qualche parte qualche esempio... qualche
documentazione... per imparare a gestire bene i DB in queste situazioni?
Ciao, Max


author: Dummy

text:
> > quindi io di solito ho una tabella su cui memorizzo le giacenze
> progressive
> > per mese.
>
> Mmmh... interessante... ci puoi fare un sacco di statistiche... bello! :-)
Credo sia funzione anche del tipo di magazzino da gestire.
Prendo come esempio un'applicazione che ho sviluppato per un cliente.
Il cliente deve applicare la gestione dei movimento per un sistema
multimagazzino (Magazzino delle materie prime, magazzino dei prodotti finiti
e quello di 'n' terzisti, per il conto lavorazione).
L'azienda effettua un inventario annuale e 10 inventari mensili (saltano il
mese successivo a quello annuale e quello di chiusura dell'azienda).
Visto il numero di articoli movimentati e il numero di movimenti quotidiano,
č impensabile memorizzare i saldi giorno per giorno.
Il magazzino, quindi, contiene l'esistenza iniziale (dell'anno precedente o
di apertura saldi), un progressivo dei vari carichi e scarichi e un totale
del mese precedente.
La somma di questi tre valori permette di avere l'esistenza attuale.
E' stata prevista anche una funzionalitą per ottenere le esistenze
corrispondenti ai vari movimenti, giocando con i saldi di magazzino e i
movimenti (ricalcolando tutto, insomma, in una tabella temporanea, a partire
da una certa data 'A', arrivando alla data 'B').
Sinceramente, avrei preferito gestire un record per ogni mese inventariato,
ma sono entrato a lavoro gią iniziato, quindi mi sono dovuto adattare :-)


text:
"MegaMax" <
a...@a.com
> ha scritto nel messaggio
news:BxS27.44823$cd.2...@news1.tin.it...

Non so darti una risposta.
Se però non hai approfondito ancora i due database di esempio Northwind e
Ordini, comincia da lì: vivisezionali e vedrai che.....
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


text:
"Roberto in campagna" <
r.ma...@libero.it
> ha scritto nel messaggio
news:%_U27.5152$2v6.1...@news.infostrada.it...
> Non so darti una risposta.
> Se perň non hai approfondito ancora i due database di esempio Northwind e
> Ordini, comincia da lě: vivisezionali e vedrai che.....
Obiettivamente non li honeppure mai aperti... :-))))))))
Li guardo appena ho tempo!
Grazie, Max