Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Aggiungere dati ad array.

    Ho questo codice:

    codice:
    If Not (rcs Is Nothing) Then
       If rcs.State = adStateOpen Then
          If Not rcs.EOF Then
             ReDim RF_arraySedi(0 To rcs.RecordCount - 1, 0 To 1)
    
             For I = 1 To rcs.RecordCount
                 RF_arraySedi(I - 1, 0) = rcs.Fields.Item("sede_provincia").Value
    
                 If IsNull(rcs.Fields.Item("sede_prov_descrizione").Value) Then
                    RF_arraySedi(I - 1, 1) = ""
                 Else
                    RF_arraySedi(I - 1, 1) = rcs.Fields.Item("sede_prov_descrizione").Value
                 End If
    
                 rcs.MoveNext
             Next I
    
             ReDim Preserve RF_arraySedi(22, 1)
             RF_arraySedi(I - 1, 0) = "XX"
             RF_arraySedi(I - 1, 1) = "Non Specificata" 
          End If
       End If
    End If
    rcs è un recordset valorizzato da una query preventiva, e nel ciclo for sopra indicato carica correttamente l'array bidimensionale.

    I, quando esco dal ciclo vale 22.

    Fin qui tutto ok!

    Quello che vorrei fare è aggiungere le voci indicate nella parte in grassetto.
    Tuttavia le 3 righe i codice sopra evidenziate in grassetto mi ritonano il messaggio di: "indice non compreso nell'intervallo".

    Devo aggiungere questa voce, mi sapete aiutare su come sistemare questo codice?
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,462

    Moderazione

    A quale linguaggio di programmazione ti riferisci?
    VB6, VB.NET, C#...?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    VB6
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  4. #4
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    Ciao, se I quando esce dal ciclo FOR vale 22, significa che questa istruzione: ReDim RF_arraySedi(0 To rcs.RecordCount - 1, 0 To 1) equivale a: ReDim RF_arraySedi(0 To 20, 0 To 1)
    Alla fine tu con il ReDim vuoi portare il primo indice a 22, ma questo non è possibile, in quanto se vuoi modificare un l'indice di un array dinamico, lo puoi fare soltanto con l'ultimo indice. Nel tuo caso, con un array bidimensionale l'ultimo indice è quello che va da 0 a 1 (0 To 1)!!
    Se ti serve modificare la grandezza del vettore, devi fare una cosa del genere:
    codice:
    ReDim RF_arraySedi(0 To 1,0 To rcs.RecordCount - 1)
    In questo caso alla fine puoi fare la modifica:
    codice:
    ReDim Preserve RF_arraySedi(1,22)
    Jupy

  5. #5
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    premetto che se l'array è a due dimensioni,il redim puo ridimensionare solo l'ultima dimensione.

  6. #6
    Si, infatti, in funzione di ciò, ho optato per un'altra strada meno tortuosa di quella in cui mi stavo immettendo!

    Grazie comunque!
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.