potresti provare ad aggiungera alla tua classe ArticoloMagazzino un campo Fornitori di tipo Collection
che ti permette di gestire una collezione di oggetti e poi definire o una nuova classe Fornitore o una
struttura (dipende se vuoi che anche Fornitore abbia dei metodi propri o che sia valorizzata tramite un ID).
public Fornitori As Collection
nella classe ArticoloMagazzino, poi, potresti aggiungere (se già non l'avevi previsto) un metodo che, una
volta popolata una DataTable con i fornitori che t'interessano e i loro dati, cicli sui suoi record
creando di volta in volta un'istanza della classe o struttura Fornitore valorizzandola con i dati
della tabella e aggiunga l'oggetto alla collezione insieme a una chiave di tipo stringa per richiamarlo
(per esempio la descrizione del fornitore).
Public sub ValorizzaFornitori()
' tabella con i dati dei fornitori
Dim DTFornitori As New Data.DataTable("Fornitori")
' valorizzazione
'...
' creazione istanza collezione
Fornitori = New Collection
' valorizzazione
Dim Fornitore As Fornitore
For Each r As Data.DataRow In DTFornitori.Rows
'valorizzazione istanza
Fornitore = New Fornitore
With Fornitore
.Descrizione = r(0) ' "Tizio"
.PrezzoAcquisto = r(1)
.Sconto = r(2)
.ModalitaPagamento = r(3)
End With
' aggiungiamo alla collezione, indicando
' come chiave la descrizione
Fornitori.Add(Fornitore, r("Descrizione"))
Next
End Sub
a questo punto potrai richiamare i dati dei fornitori dalla classe ArticoloMagazzino
tramite la descrizione del fornitore o anche tramite indice come un semplice array:
Dim PrezzoAq As String
Dim Sconto As String
Dim ModPag As String
PrezzoAq = MyArt.Fornitori("Tizio").PrezzoAcquisto
Sconto = MyArt.Fornitori("Tizio").Sconto
ModPag = MyArt.Fornitori("Tizio").ModalitaPagamento
PrezzoAq = MyArt.Fornitori(0).PrezzoAcquisto
Sconto = MyArt.Fornitori(0).Sconto
ModPag = MyArt.Fornitori(0).ModalitaPagamento
nell'allegato troverai un esempio sia per la classe che per la
struttura, che potrai adattare al codice che hai gia scritto.
non so se questo sia il metodo migliore, ma comunque spero
che ti sia d'aiuto.
ciao