Cercando per il forum notizie sui dati aggregati, sono incappato in una discussione sulle matrici bidimensionali dinamiche.
Successivamente ripensandoci ho tirato giù questa scemenza che in effetti dimostra che è possibile ottenere anche con le matrici di Gambas travasandone i dati fra due, matrici dinamiche che preservano i dati addirittura manipolando entrambe le dimensioni.
La dimostrazione è il minimo indispensabile per dimostrarne la fattibilità, per poterla usare occorre giocare con i cicli annidati.
E' chiaro che il dispendio energetico risulta notevole e per “tabelle” di grandi dimensioni è improponibile però...
' matrice bidimensionale super dinamica
' che preserva i dati; si possono aggiungere
' sia colonne che righe (record).
Dim miaArr1 As String[]
Dim miaArr2 As String[]
' tabella di 2 colonne con 1 riga
miaArr1 = New String[2, 1]
miaArr1[0, 0] = "Valore in 1, 1"
miaArr1[1, 0] = "Valore in 2, 1"
Print miaArr1[0, 0]
Print miaArr1[1, 0]
Print "==============="
' aggiungo una riga alla tabella
miaArr2 = New String[2, 2]
miaArr2[0, 0] = miaArr1[0, 0]
miaArr2[1, 0] = miaArr1[1, 0]
miaArr2[0, 1] = "Valore in 1, 2"
miaArr2[1, 1] = "Valore in 2, 2"
Print miaArr2[0, 0]
Print miaArr2[1, 0]
Print miaArr2[0, 1]
Print miaArr2[1, 1]
Print "==============="
' aggiungo una colonna alla tabella
miaArr1 = New String[3, 2]
miaArr1[0, 0] = miaArr2[0, 0]
miaArr1[1, 0] = miaArr2[1, 0]
miaArr1[2, 0] = "Valore in 3, 1"
miaArr1[0, 1] = miaArr2[0, 1]
miaArr1[1, 1] = miaArr2[1, 1]
miaArr1[2, 1] = "Valore in 3, 2"
Print miaArr1[0, 0]
Print miaArr1[1, 0]
Print miaArr1[2, 0]
Print miaArr1[0, 1]
Print miaArr1[1, 1]
Print miaArr1[2, 1]