problema ID progetto

FileMaker è un database relazionale. Vediamo come...

Moderatore: Moderatori

Rispondi
jdshock
Messaggi: 8
Iscritto il: lunedì 19 marzo 2007, 1:00

problema ID progetto

Messaggio da jdshock » lunedì 19 marzo 2007, 9:36

Ciao a tutti ho un problema per dare un ID progetto che sia un codice alfanumerico progressivo fatto in questo modo:

> primo blocco fatto da 4 lettere = ID Cliente
> secondo blocco fatto da 3 numeri = Progetto relazionato a ID cliente XXX
> terzo blocco fatto da 2 numeri = anno

In breve se io ho un cliente che si chiama TOPOLINO per il quale inizio un progetto oggi, ed è il primo progetto dell'anno avrò un risultato nel campo ID Progetto come segue:

ID PROGETTO = TOPO00107

il secondo progetto dello stesso cliente sarà TOPO00207, e nel caso dovessi iniziare un nuovo progetto per il cliente PLUTO dovrei ottenere un risultatto che sia PLUT00107.

Seguendo il forum ho tentato di creare un'autorelazione, ma il risultato che mi da nei vari tentativo è o sempre =1 oppure un progressivo che però non è relazionato al ID cliente.
Qualcuno può aiutarmi per favore.

Grazie mille Giada

raybaudi
Messaggi: 3616
Iscritto il: sabato 7 febbraio 2004, 1:00
Località: Roma
Contatta:

Messaggio da raybaudi » lunedì 19 marzo 2007, 9:50

Questo calcolo dovrebbe funzionare:

Sinistra ( Clienti::cliente ; 4 ) & Destra ( "000" & Max ( Clienti2::progetto ) + 1 ; 3 ) & Destra ( Get ( DataCorrente ) ; 2 )
Raybaudi FMP 12 Adv. Windows XP SP3

jdshock
Messaggi: 8
Iscritto il: lunedì 19 marzo 2007, 1:00

Messaggio da jdshock » lunedì 19 marzo 2007, 17:54

Ciao, Raybaudi, ti ringrazio della risposta. Ora provo e poi ti faccio sapere.
Grazie ancora
Giada

jdshock
Messaggi: 8
Iscritto il: lunedì 19 marzo 2007, 1:00

Messaggio da jdshock » mercoledì 21 marzo 2007, 18:02

Ciao Raybaudi, io ti ringrazio un sacco ma non c'è nulla da fare;
ho provato, ma mi da un risultato che è sempre 00107, per qualsiasi record inserisco.

praticamente non riesce considerando devo

a) primo blocco fatto da 4 lettere = ID Cliente
b) secondo blocco fatto da 3 numeri = Progetto relazionato a ID cliente XXX
c) terzo blocco fatto da 2 numeri = anno

il risultato che ottengo è:

a) nessun risultato
b) progetto numerato sempre con =1
c) =07 (e questo credo che sia assolutamente giusto.

Considera che io sto cercando di traformare ed adattare la Business Productivity Solution scaricabile dal sito di FM, per cui sicuramente devo aver sbagliato qualche relazione.

A proposito uso FM 8.5 Adv , mi ero dimenticata di dirtelo...
Grazie Giada

raybaudi
Messaggi: 3616
Iscritto il: sabato 7 febbraio 2004, 1:00
Località: Roma
Contatta:

Messaggio da raybaudi » mercoledì 21 marzo 2007, 18:19

Giada, mi spedisci il file per email con quanto hai fatto fin'ora ?
Raybaudi FMP 12 Adv. Windows XP SP3

ruggerotoniolo
Messaggi: 69
Iscritto il: mercoledì 12 novembre 2003, 1:00
Località: Montegrotto Terme
Contatta:

Messaggio da ruggerotoniolo » sabato 31 marzo 2007, 23:07

Ciao a tutti,

questa cosa mi è capitata quando ho creato una soluzione per la gestione degli assett IT nell'azienda in cui lavoravo.

A seconda del tipo di assett (computer, stampante, monitor, ...) avevo la necessità di gestire un contatore con numeralione relativa (i monitor dovevano iniziare per MON con un numeratore progressivo che iniziasse da 1 diventando MON0001, MON0002, ... e lo stesso per i COM(computer) PRT(stampante), etc).

per risolvere la cosa ho creato una tabella chiamata Numeratori.

L'accesso era per acronimo (com, prt, ...) e lo script che lo gestiva faceva questo (nella logica)

Accedi alla tabella COntatori con relazione Acronimo
Leggi il valore del contatore
aggiungi 1 all'ultimo numero letto
definisci il contatore con il nuovo valore determinato
definifisci il codice dell'asset come acronimo and DESTRA("00000"&contatore;6) : in questo modo il numero dell'asset era sempre di 9 caratteri con il formato XXX000000 (COM000001, COM000002, ...)

Nel caso specifico quanto fatto dovrebbe essere fatto interpretando quanto scritto nel seguente modo.

Creo una tabella con i campi:
Codice CLiente
Anno
Numeratore

Creo una relazione tra la tabella dei progetti e quella den Numeratore tramite
Codice Cliente = Codice Cliente Numeratore
Anno Progetto = Anno Numeratore

abilitando la creazione di record sulla tabella numeratori tramite relazione(in questo modo i nuovi numeratori possono essere creati automaticamente)

Accedi alla tabella Numeratore con relazione CodiceCliente e AnnoProgetto
Leggi il valore del contatore
aggiungi 1 all'ultimo numero letto
definisci il contatore con il nuovo valore determinato
definifisci il codice del progetto come
CODICECLIENTE & DESTRA("000"&contatore;3) & Destra(AnnoProgetto;2)

In questo modo credo che tu possa risolvere il problema.

Se hai problemi fammi un fischio.

Ciao

Ruggero

p.s.: fammi sapere se ti è servito

[/code]

jdshock
Messaggi: 8
Iscritto il: lunedì 19 marzo 2007, 1:00

Messaggio da jdshock » lunedì 2 aprile 2007, 11:26

Ciao Ruggero, e Ciao mitico Raybaudi
posto questa mia risposta ad entrambi, poichè ho risolto i miei problemi, per quel che riguarda questo topic....
Bene, in primo luogo ringrazio Raybaudi per il suo aiuto via forum e via e-mail. Risposndo solo oggi poichè l'influenza mi ha stroncato per oltre una settimana. Dopo l'intervento di Raybaudi ho potuto completare il mio lavoro!!!
Grazie Ray, sei mitico.
Inoltre rinbgrazio anche Ruggero, benché il suo aiuto è arrivato dopo aver risolto il mio problema. Grazie in ogni caso, anche perchè il topic magari serve anche a qualcun altro.

Grazie Grazie Grazie mille a tutti
A presto
Giada

Rispondi