|
| 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 » | |
03-02-2008, 10.29.06 | #1 |
Newbie
Registrato: 03-02-2008
Messaggi: 2
|
AZZERARE UN CONTATORE
Ultima modifica di paolonebuloni : 03-02-2008 alle ore 10.38.30 |
03-02-2008, 11.04.07 | #2 |
Gold Member
Top Poster
Registrato: 23-10-1998
Loc.: X Regio - Venetia et Histria
Messaggi: 14.119
|
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 ::. |
03-02-2008, 20.44.57 | #3 |
Il re di bastoni
Top Poster
Registrato: 26-04-2001
Loc.: Milàn
Messaggi: 23.413
|
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! |
04-02-2008, 10.17.39 | #4 |
Newbie
Registrato: 03-02-2008
Messaggi: 2
|
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. |
04-02-2008, 10.25.02 | #5 |
Gold Member
Top Poster
Registrato: 23-10-1998
Loc.: X Regio - Venetia et Histria
Messaggi: 14.119
|
spostato in Office suite
___________________________________
___________________________________ .:: ConnectU il Social Network Italiano - Equitalia Class Action ::. |
04-02-2008, 19.29.40 | #6 |
Gold Member
WT Expert
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
|
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 |
04-02-2008, 21.49.07 | #7 | |
Senior Member
WT Expert
Registrato: 19-05-2007
Loc.: Verona
Messaggi: 1.302
|
Quota:
___________________________________
- Il primo fondamento della sicurezza non e' la tecnologia, ma l'attitudine mentale - |
|
04-02-2008, 23.47.51 | #8 |
Hero Member
Registrato: 14-01-2005
Loc.: Rome, Italy
Messaggi: 1.132
|
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 =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é! |
05-02-2008, 08.07.38 | #9 |
Gold Member
WT Expert
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
|
Volentieri.
Sempre pronto ad acquisire nuovi metodi risolutivi Posta di seguito (Y) |
05-02-2008, 10.20.38 | #10 |
Hero Member
Registrato: 14-01-2005
Loc.: Rome, Italy
Messaggi: 1.132
|
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"");" 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é! |
05-02-2008, 10.34.48 | #11 |
Gold Member
WT Expert
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
|
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"");" ? |
05-02-2008, 11.09.35 | #12 |
Hero Member
Registrato: 14-01-2005
Loc.: Rome, Italy
Messaggi: 1.132
|
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é! |
06-02-2008, 13.42.37 | #13 |
Hero Member
Registrato: 14-01-2005
Loc.: Rome, Italy
Messaggi: 1.132
|
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é! |
Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti) | |
Strumenti discussione | |
|
|
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 |