Creare Cartelle

Buongiorno E Auguri. Ho ll mio bel PopupMenu popolato di citt con il Recordset. Volevo Sapere c’ un modo di Richiamare DA Un Altra Tabella (O Ancora Meglio fare si che Sia il Valore Iniziale) Una Determinata Citt Tramite il Suo ID ??

Es.
PopupMenu TAB 1

Dim RS As Recordset
Dim P As SQLitePreparedStatement=App.DataBaseGioco.Prepare(“SELECT * FROM Citta WHERE ID_Citta=?”)
P.BindType(0, SQLitePreparedStatement.SQLITE_INTEGER)
RS=P.SQLSelect(Me.RowTag(Me.ListIndex))
Menu.PGUtente.LabelNameX.Text=RS.Field(“Nome”).stringValue

Methods TAB1

//Seleziona dalla Tabella Citt 2 Ordina Per Nome.
Dim RS As Recordset=App.DataBaseGioco.SQLSelect(“SELECT * FROM Citta ORDER BY 2”)
//Svuota Listacitta
ListaCitta.DeleteAllRows
//Carica Citt Nel ListaHOMEMenu.
While Not RS.EOF
//Visualiza Nome Citt.
ListaCitta.AddRow(RS.Field(“Name”).StringValue)
ListaCitta.RowTag(ListaCitta.ListCount-1)=RS.Field(“ID_Citta”).integerValue
RS.MoveNext
Wend

Popupmenu TAB2
Dim RS As Recordset
Dim P As SQLitePreparedStatement=App.DataBaseGioco.Prepare(“SELECT * FROM Utenti WHERE ID_Utente=?”)
P.BindType(0, SQLitePreparedStatement.SQLITE_INTEGER)
RS=P.SQLSelect(Me.RowTag(Me.ListIndex))

Menu…CampoNOME.Text = RS.Field(“Nome”).stringValue
Menu…CampoCOGNOME.Text = RS.Field(“Cognome”).stringValue
???= RS.Field(“ID_Utente”).stringInteger

Dall’esempio fatto non chiaro dove vuoi avere il popup con il valore selezionato.
Poniamo che sia quello che che chiami ListaCitta

hai 2 modi per farlo:
quando carichi la lista delle citt vuoi selezionare la voce con un certo ID
passi per questo un parametro cittaID as integer al metodo (default=-1 in modo da poterlo usare come ora)
allora dopo listanti.deleteAllRows aggiungi

dim currentIndex as integer=-1

Nel while prima di rs.moveNext

if rs.field("ID_Citta").integerValue=cittaID then currentIndex=ListaCitta.listCount-1

Alla fine dopo il wend

listacitta.listIndex=currentIndex

Se invece vuoi impostare una voce del menu un po come quando assegni il valore al campo puoi utilizzare questa estensione da mettere in un modulo:

sub setRSInteger(extends pm as popupmenu, rs as recordSet, nomeDelCampo as string) dim n as integer=pm.listCount-1 dim currentIndex as integer=if(n>-1, 0, -1) for i as integer=0 to n if pm.rowTag(i).integerValue=rs(nomeDelCampo).integerValue then currentIndex=i exit end if next pm.listIndex=currentIndex end sub

e la usi ad esempio come:

ListaCitta.setRsInteger(rs, "ID_citta")

Puoi farne varianti per stringValue o lasciarlo come variant non specificando il tipo (ma potresti avere problemi se non stai attento con il nuovo framework dove il variant non esiste ed esiste il tipo Auto che variant alla creazione e poi tipizzato). Cos come puoi fare varianti, come faccio io, in cui il nome del campo dato dal nome del controllo stesso (se non indicato) risultando cos un codice pi veloce da scrivere e sempre autodocumentato.

Grazie Ancora Per La Tua Disponibilit Come Sempre
Si In Effetti Ora che me lo hai fatto notare non molto Chiaro. In Un Modo Pi Comprensibile, Volevo dire Nella Stessa Maniera Con Cui riesco a far si ,che Un Campo o Label Nel Programma Acquisisca il Valore Di un Determinato Records Del DataBase (Esempio: CampoNOME.Text = RS.Field(“Nome”).stringValue) Se Nel Campo “Citta_ID” Della Tabella UTENTI, Il Valore “23” ,Allora Il PopupMenu Collegato Alla Tabella CITTA Avr Selezionato La Citta Con L’ “ID_Citta” “23” Cos Si Che Con il RecordSet.Edit Possa Modificare A Sua Volta Il Valore del Campo “Citta_ID” Col il valore Dell’ “ID_CItta” Di quella selezionata con il PopupMenu. Spero Di Aver Reso Meglio L’idea, Comunque provo un po Le dritte che mia hai dato.
Girando per il Forum Ho visto che C’ la possibilit di Attivare Le Foreign Keys (SQLExecute(“PRAGMA FOREIGN_KEYS = ON;”) )
Premetto che il Mio database e Relazionato con le Foreign Keys Ma praticamente Sto richiamando le tabelle Pi o Meno come Richiamavo i File Exel con VB6. Che Vantaggio Mi Offrirebbe in pi ma sopratutto come ??

L’ultimo metodo ti permette di fare quanto richiedi (magari puoi variarlo per adattarlo al tipo di sintassi che richiedi)

Per quanto riguarda le foreign keys e il loro utilizzo ti consiglio di guardare questa pagina sul sito di sqlite
https://www.sqlite.org/foreignkeys.html

Gli esempi proposti sono abbastanza eloquenti per il loro utilizzo.