Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    18

    Problema con CasellediRiepilogo-ComboBox

    Salve a tutti,

    Sto realizzando una base di dati in Access2003, implementando maschere e codice Visual Basic..

    Ho realizzato in una maschera una Casella di Riepilogo (ovvero una Combo Box), la quale tramite il metodo "Elenco.AddItem" viene fatta popolare dinamicamente a video attraverso la pressione di un Pulsante (Sub Pulsante_Click() )

    La Casella di Riepilogo può esser vista come una "Matrice m * 7", ovvero come una struttura dati costituita da 7 colonne e un illimitato numero di Righe (che vengono ovviamente aggiunte una alla volta tramite la pressione del Pulsante)

    Non c'è alcuna Origine di controllo alla Casella di Riepilogo, dato che essa DEVE restare una entità "volatile", quindi non è legata ad alcuna tabella e/o record della base di dati..

    A questo punto attraverso la pressione di un altro pulsante la Casella di Riepilogo deve "spedire" Ogni elemento di Ciascuna Riga*Colonna ad un determinato Record della base di dati...

    Il problema NON è come inserire tali Record.. ma semplicemente come LEGGERLI!!!
    Ovvero tramite un Ciclo For posso far "ciclare" un contatore sulla Casella, ma ho bisogno di scorrere tale casella una riga alla volta..

    Esiste dunque un metodo per scorrere le righe di una casella di riepilogo tramite VB? e una volta letta una riga ricavare ad uno ad uno tutti i suoi elementi??

    In pratica una cosa del genere:

    For k = 0 To ((Elenco1.ListCount)-1) Step 1
    For i = 0 To 6 Step 1
    Elenco1.POSIZIONATI_SU_RIGA(k).PRELEVA_ELEMENTO_CO LONNA(i)
    Next i
    Next k


    Per il metodo PRELEVA_ELEMENTO_COLONNA non c'è problema, dovrebbe essere "Column(i)", ma quello ke voglio sapere è qual'è il metodo VB per POSIZIONATI_SU_RIGA(k)????
    Purtroppo non esiste nessun metodo "Row(k)"

    Help Please!!!
    Grazie

  2. #2
    Utente di HTML.it L'avatar di MMarzia
    Registrato dal
    Mar 2001
    Messaggi
    1,781
    benvenuto cloud
    ti invito a leggere il regolamento : linguaggio/versione vanno specificati anche nel titolo
    io sono festosamente cicciottello :: e. cartman

    t'amo senza sapere come, nè quando nè da dove,
    t'amo direttamente senza problemi nè orgoglio:
    così ti amo perchè non so amare altrimenti

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    18
    Scusami tanto Marzia
    e Grazie x aver corretto il titolo

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    110
    Con la proprietà list es: combo1.list(k)

    La storia della matrice nella combobox non l'ho mica capita
    Ciao
    Marco

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    18
    Ciao Marco!
    Grazie x la risposta!

    Cmq avevo già trovato la soluzione con

    Elenco.Column(indice_colonna, indice_riga)

    Una matrice xkè la mia combo box è costituita da 7 colonne e da un numero di righe non prefissato, infatti una riga si può aggiungere dinamicamente mediante la pressione di un bottone..

    Mi sembra che il termine "matrice" sia il più chiaro per spiegare la struttura dati di cui ho bisogno!!

    Cmq una cosa x tutti gente!! ho scoperto un enorme BUG in Access 2003 Professional con Service Pack 1!!!

    Provate a popolare attraverso il metodo addItem in VB una combobox (o Elenco come viene chiamata in VB in italiano, o in Access riconosciuta come "casella di riepilogo") con una serie di dati, tra cui dati di Valuta prelevati da qualke tabella, l'importante è ke siano NUMERI CON LA VIRGOLA (Double), oppure anche Stringhe che contengono virgole...

    A questo punto realizzate un bottone che OnClick esegua il comando Elenco.removeItem (A_CURRENT), ovvero che rimuove un'intera riga della combobox selezionata.. selezionatene una riga che contiene dati/stringhe con la virgola e guardate un po ke succede

    La riga non viene rimossa!! Vengono lasciati un sacco di spazi vuoti... e alcuni dati vengono magicamente "shiftati" a sinistra! il bello è ke tutte le righe che seguono vengono "shiftate" a catena tutte assieme!! insomma si imput***a l'intera ComboBox!!!!

    Per capire/risolvere sto dannatissimo Bug ho perso un'intera giornata creando delle funzioni che, prima di inserire i dati nella ComboBox, li "filtrano" trasformandoli da Double in String e quindi nelle Stringhe sostituendo ogni occorrenza della virgola "," con un punto "."

    Tremendo poichè i dati che mi servivano erano nella maggiorparte dei casi valute in €... Poi per fare calcoli e somme su questi dati ormai trasformati in stringhe bisogna RiFiltrarli al volo prima di sommarli..

    Insomma un casino.. ringraziamo mamma Microzozz...

    Ciao a tutti!!!

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.