E' normale che sia così, poichè - non conoscendo la struttura con cui hai a che fare - suppongo che il valore venga attribuito attraverso un generatore, quindi il record viaggia "orfano" dell'ID che gli viene attribuito solo quando raggiunge il server, pertanto la copia in memoria sul client rimane impostata al valore predefinito attribuitogli.
Se usi i componenti InterBase Express, prova a studiarti il funzionamento del componente IBDataSet sulla Guida in linea.
Il componente fornisce una proprietà GeneratorField che potrebbe fare al caso tuo, poichè sfrutta la particolarità dei generatori di InterBase e consente di inserire automaticamente il valore del generatore al verificarsi di certe eventualità.
Se decidi di utilizzare questo strumento, devi però regolare il funzionamento dei trigger in merito al generatore, cioè assegnarlo solo se il contenuto del campo è NULL (in caso contrario, significa che il valore è già stato assegnato dall'applicazione client, ottenendolo comunque dal generatore).
Ciao!![]()