Telefonino.net network
 
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. NEI PREFERITI .:: | RSS Forum | RSS News | NEWS web | NEWS software |
| PUBBLICITA' | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | CERCA nel FORUM » |

Torna indietro   WinTricks Forum > Software > Office suite

Notices

Rispondi
 
Strumenti discussione
Vecchio 03-02-2008, 10.29.06   #1
paolonebuloni
Newbie
 
Registrato: 03-02-2008
Messaggi: 2
paolonebuloni promette bene
AZZERARE UN CONTATORE

un ordine è fatto da una o più posizioni. Es. ordine nr. 1 pos. 1, 2, 3, 4; ordine nr. 2 pos.1; ordine nr. 3 pos.1, 2. Con una maschera introduco il numero d'ordine (tipo dati contatore); con una sottomaschera introduco IDRiga (tipo dati contatore) e la pos. (tipo dati numerico). L'IDRiga rappresenta il conteggio di tutte le posizioni di tutti gli ordini (7 negli esempi) ed è logico che sia contatore. La pos. dovrebbe essere un contatore all'interno di ogni singolo ordine. La pos. deve ripartire da 1 ad ogni cambio d'ordine e deve aumentare di 1 ad ogni nuova riga d'ordine. Oggi sono costretto ad inserire il numero di pos. manualmente.

Ultima modifica di paolonebuloni : 03-02-2008 alle ore 10.38.30
paolonebuloni non è collegato   Rispondi citando
Vecchio 03-02-2008, 11.04.07   #2
Billow
Gold Member
Top Poster
 
L'avatar di Billow
 
Registrato: 23-10-1998
Loc.: X Regio - Venetia et Histria
Messaggi: 14.119
Billow splende di luce propriaBillow splende di luce propriaBillow splende di luce propriaBillow splende di luce propriaBillow splende di luce propria
innanzittuto benvenuto

poichè non è chiaro a cosa tu faccia riferimento e non saprei in quale sezione spostarlo, ti invito a leggere il regolamento, ed a fornire spiegazioni su cosa riguardi il tuo problema.
___________________________________

___________________________________
.:: ConnectU il Social Network Italiano - Equitalia Class Action ::.
Billow non è collegato   Rispondi citando
Vecchio 03-02-2008, 20.44.57   #3
Thor
Il re di bastoni
Top Poster
 
L'avatar di Thor
 
Registrato: 26-04-2001
Loc.: Milàn
Messaggi: 23.413
Thor promette bene
office (access, excel)?

programmazione?

solo lui ce lo può dire ^^
___________________________________

Un giorno in cui voleva fare il cattivo, Mister Coniglietto sbirciò oltre la siepe e vide che l'orto del Contadino Fred era pieno di lattuga fresca e verde; Mister Coniglietto, invece, non era pieno di lattuga per niente. E ciò gli parve un'ingiustizia.
Sono un Vampiro! I am a Vampire!
Thor non è collegato   Rispondi citando
Vecchio 04-02-2008, 10.17.39   #4
paolonebuloni
Newbie
 
Registrato: 03-02-2008
Messaggi: 2
paolonebuloni promette bene
ops

buongiorno a tutti. Grazie in anticipo a chi saprà aiutarmi.

avevo dimenticato di dire che sto imparando ad usare access 2003. Il mio problema è inserire automaticamente una posizione (ad es. posizione d'ordine o posizione di fattura) in una sottomaschera che ha già un contatore. La posizione deve aumentare di uno all'interno di ogni ordine o fattura mentre deve ripartire da uno ad ogni nuovo ordine che è un contatore della maschera principale.

Grazie di nuovo. Saluti.
paolonebuloni non è collegato   Rispondi citando
Vecchio 04-02-2008, 10.25.02   #5
Billow
Gold Member
Top Poster
 
L'avatar di Billow
 
Registrato: 23-10-1998
Loc.: X Regio - Venetia et Histria
Messaggi: 14.119
Billow splende di luce propriaBillow splende di luce propriaBillow splende di luce propriaBillow splende di luce propriaBillow splende di luce propria
spostato in Office suite
___________________________________

___________________________________
.:: ConnectU il Social Network Italiano - Equitalia Class Action ::.
Billow non è collegato   Rispondi citando
Vecchio 04-02-2008, 19.29.40   #6
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Ora ti racconto una storiella:
Il campo contatore autoincrementante è sempre stato utile al 50% e disastroso nella restante percentuale; mi sono imbestialito più di una volta quando, cancellato un record, il contatore riprendeva sempre dal valore massimo raggiunto prima della cancellazione + 1.
Beh, a pensarci bene, poteva avere un senso, ma certamente il lavoro dei programmatori del A-Cess[o] sarebbe stato piuttosto complesso, in quanto avrebbero avuto una bella gatta da pelare se avessero dovuto rieffettuare la numerazione sequenziale su un DB relazionale, indipendentemente dalla sua complessità e dai vincoli impostati da chi ne aveva ideato la struttura.
Così, mi sono convinto che mi ero imbestialito per niente.
Come puoi risolvere ?
Con una Select MAX(X)+1 WHERE ... , dove X è la colonna che contiene il valore massimo calcolato sulla base della condizione specificata.
A-Cess[o] non può certo fare tutto da solo, quindi devi programmarlo facendo ricorso all'oggetto recordset ed assegnando manualmente il valore incrementato sulla base della query SQL che imposterai opportuamente

Ultima modifica di LoryOne : 05-02-2008 alle ore 08.16.32
LoryOne non è collegato   Rispondi citando
Vecchio 04-02-2008, 21.49.07   #7
Alexsandra
Senior Member
WT Expert
 
L'avatar di Alexsandra
 
Registrato: 19-05-2007
Loc.: Verona
Messaggi: 1.302
Alexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tutti
Quota:
Inviato da LoryOne
...A-Cess[o] ...
Oltre a quotare ...... è bestiale l'aggettivo
___________________________________

- Il primo fondamento della sicurezza non e' la tecnologia, ma l'attitudine mentale -
Alexsandra non è collegato   Rispondi citando
Vecchio 04-02-2008, 23.47.51   #8
miciomao
Hero Member
 
L'avatar di miciomao
 
Registrato: 14-01-2005
Loc.: Rome, Italy
Messaggi: 1.132
miciomao promette bene
io lascerei stare gli id e i contatori e li terrei nascosti nella sottomaschera
userei un po di codice per numerare progressivamente "a vista" i numeri di posizone

Codice:
  On Error GoTo erh
  With CodeContextObject.RecordsetClone
    If Not (.BOF And .EOF) Then
      .Bookmark = CodeContextObject.Bookmark
      GetRecNum = .AbsolutePosition + 1
    End If
  End With
ext:
  Exit Function
erh:
  Exit Function
End Function
Per ottenere la numerazione progressiva registrare la funzione di cui sopra in un modulo del database, inserire nella maschera o sottomaschera continua una casella di testo non associata nella cui origine controllo scrivere:

=GetRecNum()

@LoryOne
conosco due metodi per tappare i buchi da eliminazioni record nei campi contatore incrementali, se vuoi ti posto qualche esempio
___________________________________

♫ m u s i c ♪ i s ♫ t h e ♪ a n s w e r ♫
"Il più piccolo dei piccoli felini è già lui stesso un vero capolavoro". (Leonardo da Vinci)
Namasté!
miciomao non è collegato   Rispondi citando
Vecchio 05-02-2008, 08.07.38   #9
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Volentieri.
Sempre pronto ad acquisire nuovi metodi risolutivi
Posta di seguito (Y)
LoryOne non è collegato   Rispondi citando
Vecchio 05-02-2008, 10.20.38   #10
miciomao
Hero Member
 
L'avatar di miciomao
 
Registrato: 14-01-2005
Loc.: Rome, Italy
Messaggi: 1.132
miciomao promette bene
considera che se il campo contatore non è chiave primaria o indicizzato con duplicati non ammessi potresti anche duplicare il valore lanciando due volte le funzioni, quella che segue è una semplice tabella (test) a 2 campi, ID (tipo Contatore) e testomsg (tipo Testo).

nel primo caso rimpiazzo il nr 3 con qry
Codice:
DoCmd.RunSQL "INSERT INTO Test (ID, testomsg) VALUES (3, ""INSERT 3"");"
con questo rimpiazzo il 5

Esempio inserimento da VBA (DAO):
Codice:
  Dim rst as DAO.Recordset
  Set rst = CurrentDb.OpenRecordset("Test")
  rst.AddNew
  rst!id = 5
  rst!testomsg = ".AddNew 5"
  rst.Update
  rst.Close: Set rst=Nothing
___________________________________

♫ m u s i c ♪ i s ♫ t h e ♪ a n s w e r ♫
"Il più piccolo dei piccoli felini è già lui stesso un vero capolavoro". (Leonardo da Vinci)
Namasté!
miciomao non è collegato   Rispondi citando
Vecchio 05-02-2008, 10.34.48   #11
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Quindi (correggimi se sbaglio), supponendo la seguente ipotesi di inserimento:
1 INSERT 1
2 INSERT 2
3 INSERT 3
4 INSERT 4
5 INSERT 5
cancellassi la 5° riga e ne aggiungessi un'altra cosa succederebbe ?
A-cess[o] aggiungerebbe 6 all' ID della 5° riga (di fatto saltando l'incremento pari a 5) , ma nello stesso tempo modificherebbe l' ID pari a quello voluto secondo questa istruzione: DoCmd.RunSQL "INSERT INTO Test (ID, testomsg) VALUES (5, ""INSERT 5"");" ?
LoryOne non è collegato   Rispondi citando
Vecchio 05-02-2008, 11.09.35   #12
miciomao
Hero Member
 
L'avatar di miciomao
 
Registrato: 14-01-2005
Loc.: Rome, Italy
Messaggi: 1.132
miciomao promette bene
si, il ragionamento è quello, cancelli il 5 e lui cmq continua dal 6 in poi. In pratica con le due funzioni non fai altro che una forzatura ma è naturale che il buco se c'è devi andartelo a cercare.
Ghhhhhhhhhhhhhhhhh
___________________________________

♫ m u s i c ♪ i s ♫ t h e ♪ a n s w e r ♫
"Il più piccolo dei piccoli felini è già lui stesso un vero capolavoro". (Leonardo da Vinci)
Namasté!
miciomao non è collegato   Rispondi citando
Vecchio 06-02-2008, 13.42.37   #13
miciomao
Hero Member
 
L'avatar di miciomao
 
Registrato: 14-01-2005
Loc.: Rome, Italy
Messaggi: 1.132
miciomao promette bene
eccola
questa è la query che ci dirà quali numeri mancano al progressivo
direi che con un po di codice si potrà creare una funzione che tappi automaticamente i buchi

è riferita sempre alla tabella Test di cui sopra

Codice:
SELECT C1.ID+1 AS Da, (SELECT TOP 1  ID
        FROM Test
        WHERE ID>C1.ID+1
        ORDER BY ID)-1 AS A
FROM [SELECT TOP 1 0 AS ID
        FROM MSysobjects
        UNION
        SELECT ID
        FROM Test]. AS C1 LEFT JOIN Test AS C2 ON C1.ID+1=C2.ID
WHERE C2.ID IS NULL
ORDER BY C1.ID;
___________________________________

♫ m u s i c ♪ i s ♫ t h e ♪ a n s w e r ♫
"Il più piccolo dei piccoli felini è già lui stesso un vero capolavoro". (Leonardo da Vinci)
Namasté!
miciomao non è collegato   Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is ON
Gli smilies sono ON
[IMG] è ON
Il codice HTML è OFF

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
contatore in Access Cereal Killer Office suite 4 09-11-2005 07.58.48
[WEB] Contatore visite su sito Pierpandi Programmazione 2 25-08-2005 11.26.39
Contatore Accessi in FRAME...Invisibile !!! gionny Software applicativo 3 22-07-2004 20.38.17
Contatore di Visite. simon79vi Software applicativo 2 30-04-2004 19.45.11
Contatore usando il floeshart Downloader Programmazione 0 30-11-2003 18.01.23

Orario GMT +2. Ora sono le: 03.56.45.


E' vietata la riproduzione, anche solo in parte, di contenuti e grafica.
Copyright © 1999-2017 Edizioni Master S.p.A. p.iva: 02105820787 • Tutti i diritti sono riservati
L'editore NON si assume nessuna responsabilità dei contenuti pubblicati sul forum in quanto redatti direttamente dagli utenti.
Questi ultimi sono responsabili dei contenuti da loro riportati nelle discussioni del forum
Powered by vBulletin - 2010 Copyright © Jelsoft Enterprises Limited.