Scopo
Imposta il valore di una proprietà di tipo stringa di un oggetto. L'uso più frequente è quello di cambiare il nome e la descrizione degli oggetti.
Sintassi
INDE.SetPropString(id oggetto, proprietà, valore, id transazione, indice)
Argomenti
ID Oggetto | Puntatore dell'oggetto di cui impostare la proprietà. Solitamente il puntatore ad un oggetto viene recuperato tramite una delle seguenti funzioni: GetNextObject, GetObjectByID, GetObjectByCode, GetObjectByName, GetParentObject, GetPropObject. |
Proprietà | Indice della proprietà di cui impostare il valore. L'elenco delle proprietà disponibili sono contenute nella lista valori Proprietà Comuni e nella liste valori specifiche per tipo. |
Valore | Valore a cui impostare la proprietà. |
ID Transazione | Numero della transazione in cui effettuare la modifica ottenuto tramite la funzione BeginTransaction. |
Indice | Indice del valore nel caso la proprietà sia una collezione di valori. L'elenco dei possibili indici è specificato nella descrizione delle proprietà. |
Note
- In alcuni casi la proprietà può non essere un semplice valore, ma una collezione di valori; ad esempio la proprietà Espressioni del tipo Funzione di Liberira contiene una collezione di stringhe (il numero dipende da se la funzione è della libreria database o client) che corrispondono alle varie implementazioni nei vari database o nei vari linguaggi. Quindi quando si vuole cambiare l'implementazione per Access 2000 di una funzione della libreria database occorre valorizzare anche il parametro Indice con valore Access 2000. In caso di proprietà singole il parametro Indice va omesso o impostato a ZERO.
- Le modifiche fatte fuori transazione non cambiano lo stato del documento, cioè se il documento prima della modifica era non modificato dopo la modifica resta tale; quindi in fase di chiusura non verrebbe chiesto all'utente se vuole salvare.
- In caso di modifica fuori transazione non viene attivato il funzionamento del sistema di Team Working.
- La lettura delle proprietà di tipo stringa avviene tramite la funzione GetPropString.
- Se il puntatore passato come parametro ID Oggetto non corrisponde ad alcun oggetto nel progetto aperto, allora verrà generata un'eccezione.
Esempio di codice
if (ObjType = Tabella AND INDE.TestFlag(ObjID, Importato) = False
) OR (ObjType = Campo Tabella AND INDE.TestFlag(INDE.
GetParentObject(ObjID, Tabella, ??, ??, ??, ??), Importato) =
False)
{
string DBCode = "" //
//
// Calcolo il DBCode
try
...
catch
...
//
// Rinomino l'oggetto
try
{
INDE.SetPropString(ObjID, Codice, DBCode, TrID, ??)
}
catch
{
INDE.AddTransactionMessage(TrID, ObjID, Errore, MSG
Impossibile 1)
INDE.RoolbackTransaction(TrID)
}
//
// Tolgo la generazione automatica del nome
try
{
INDE.SetFlag(ObjID, Codice automatico, False, TrID)
}
catch
{
INDE.AddTransactionMessage(TrID, ObjID, Errore, MSG
Impossibile)
INDE.RoolbackTransaction(TrID)
}
}
) OR (ObjType = Campo Tabella AND INDE.TestFlag(INDE.
GetParentObject(ObjID, Tabella, ??, ??, ??, ??), Importato) =
False)
{
string DBCode = "" //
//
// Calcolo il DBCode
try
...
catch
...
//
// Rinomino l'oggetto
try
{
INDE.SetPropString(ObjID, Codice, DBCode, TrID, ??)
}
catch
{
INDE.AddTransactionMessage(TrID, ObjID, Errore, MSG
Impossibile 1)
INDE.RoolbackTransaction(TrID)
}
//
// Tolgo la generazione automatica del nome
try
{
INDE.SetFlag(ObjID, Codice automatico, False, TrID)
}
catch
{
INDE.AddTransactionMessage(TrID, ObjID, Errore, MSG
Impossibile)
INDE.RoolbackTransaction(TrID)
}
}
In questo esempio di codice, contenuto nella procedura Rinomina del progetto Gestione Glossario, questa procedura viene utilizzata per cambiare il nome delle tabelle e dei campi dei database.
Ultima modifica: 24/03/2021 / Validità: da 7.1.3300