Salve, devo creare un codice in base a dei valori fissi ed alcuni variabili.
Il codice è formato da 10 caratteri: 18 fisso, A o D variabile (campo tipo), numero di zeri (0, 1, 2, 3) in base al numero successivo che è il codice utente (campo cod_utente) che può essere di 2, 3, 4 o 5 caratteri. Uno 0 e poi il campo sub se diverso da 0, se no 00.
Spero di essere stato chiaro.
Sono riuscito a fare una query funzionante:
SELECT [cognome] & " " & [nome] AS Nominativo, Nuovi_Badge.cod_utente, [indirizzo] & "," & [n_civico] AS Via, Nuovi_Badge.UNIMM, IIf(Len([Cod_utente])=4 And [sub]>"0","18" & [tipo] & "0" & [Cod_utente] & "0" & [sub],"18" & [tipo] & "0" & [Cod_utente] & "00") AS Codifica, Count(Nuovi_Badge.cod_utente) AS ConteggioDicod_utente, Count(Nuovi_Badge.Codifica) AS ConteggioDiCodifica, Len([Codifica]) AS NumCod, Nuovi_Badge.sub
FROM Nuovi_Badge
GROUP BY [cognome] & " " & [nome], Nuovi_Badge.cod_utente, [indirizzo] & "," & [n_civico], Nuovi_Badge.UNIMM, IIf(Len([Cod_utente])=4 And [sub]>"0","18" & [tipo] & "0" & [Cod_utente] & "0" & [sub],"18" & [tipo] & "0" & [Cod_utente] & "00"), Len([Codifica]), Nuovi_Badge.sub;
Non riesco a cambiare il valore del cod_utente, non sò come fare quando il valore del cod_utente è di 5, 3 o 2 caratteri.
Grazie