Newsgroup: it.comp.appl.access
Titolo: Moduli di classe (Newbie)

Ciao a tutto il NG
Sto cominciando adesso a programmare con i moduli di classe,ed ho bisogno
del vostro aiuto
                                                 Codide del modulo:
-------------------------------------------------------------------------------------------
Private WithEvents PrevFatt As ListBox
Private CreaTabella As ADODB.Command
Private ListaScielte As ADODB.Recordset
Private WithEvents inserire As CommandButton
------------------------------------------------------------------------------------------
Private Sub Class_Initialize()
Set CreaTabella = New ADODB.Command
With CreaTabella
.ActiveConnection = CurrentProject.Connection
.CommandType = adCmdText
.CommandText = "create table TabellaAppoggio (NumEl counter constraint NumEl
Primary Key," _
& "Articolo string,Quantità Long,Prezzo Currency )"
.Execute
End With
End Sub
-------------------------------------------------------------------------------------------------
Public Property Set ScielteCliente(acquisti As ListBox)
Set PrevFatt = acquisti
PrevFatt.AfterUpdate = "[Event Procedure]"
Call imposta2
End Property
-------------------------------------------------------------------------------------------------
Public Property Get ScielteCliente() As ListBox
Set ScielteCliente = PrevFatt
End Property
-----------------------------------------------------------------------------------------
Public Property Set scielta(transfer As CommandButton)
Set inserire = transfer
inserire.OnClick = "[Event Procedure]"
End Property
------------------------------------------------------------------------------------------------
Public Property Get scielta() As CommandButton
Set scielta = inserire
End Property
--------------------------------------------------------------------------------------------------
Private Sub imposta2()
Set ListaScielte = New ADODB.Recordset
With ListaScielte
Set .ActiveConnection = CurrentProject.Connection
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open "TabellaAppoggio", Options:=adCmdTableDirect
PrevFatt.RowSource = ListaScielte.Source
End With
End Sub
------------------------------------------------------------------------------------------------------
Private Sub inserire_Click()
Dim yt As String
With ListaScielte
.AddNew
.Fields("Articolo") = mlst.Column(1)
yt = .Fields("Articolo")
Debug.Print yt
.Update
End With
PrevFatt.BackColor = vbYellow
PrevFatt.Requery
End Sub
--------------------------------------------------------------------------------------------------
Codice Maschera
Private xl as Classe1
Sull'evento Load della maschera istanzio il modulo di classe
set xl=New Classe1
with xl
Set .ScielteCliente = Elenco17
Set .scielta = Comando13
Il colore dello sfondo arriva ma dati nulla,niente di niente
come mai la listbox non si aggancia alla tabella?
--------------------------------
Inviato via 
http://usenet.libero.it

 & "Articolo string,Quantitą Long,Prezzo Currency )"

come newbie niente male direi.
Ad una prima occhiata il codice appare "formalmente" corretto
Intendi dire che
x1.ScielteCliente non contiene i dati 
provenienti da elenco17?
Elenco17 e' agganciato ad una tabella? Elenco17 li contiene i dati?
Lo hai seguito con il debug?
--
a.cara

 del vostro aiuto
Perdona il consiglio non tecnico, ma la pelle d'oca ha fatto capolino. Scelta,
con le sue varianti, č senza 'i'.
Ciao. Claudio.

 Ciao. Claudio.
sull'help non c'e'  e neanche sul dizionario napoletano
--
a.cara

 Lo hai seguito con il debug?
NO, è esattamente il contrario, elenco 17 deve contenere i dati che
provengono dalla listbox virtuale creata all'interno del modulo
.Il codice della maschera non fa altro che dare un interfaccia utente alla
listbox del modulo di classe.
Ciao e grazie a tutti


 Inviato via 
http://usenet.libero.it
ma i dati in "tabella appoggio" quando li carichi?
Nel momento in cui carichi il rowsource non c'e' valore ("")
questo e' il motivo principale per cui non ottieni nulla
la initialize crea solo la tabella.
Inoltre "Tabella appoggio" quando la droppi?
--
a.cara

La tabella la elimino alla chiusura del modulo
Set CancellaTabella = New ADODB.Command
With CancellaTabella
.ActiveConnection = CurrentProject.Connection
.CommandType = adCmdText
.CommandText = "drop table TabellaAppoggio"
.Execute
End With
Set CancellaTabella = Nothing
------------------------------------------------------------------------------------------------------
Questo pulsante dovrebbe(almeno credo), inserire un dato e aggiornare la
listbox.
Private Sub inserire_Click()
Dim yt As String
With ListaScielte
.AddNew
.Fields("Articolo") = mlst.Column(1) '<--- Dato proveniente da un'altra
listbox virtuale,anch'essa con la sua corrispondente sulla maschera.
yt = .Fields("Articolo")
Debug.Print yt
.Update
End With
PrevFatt.BackColor = vbYellow
PrevFatt.Requery
End Sub


 
ok nel primo codice spedito mi sembra che non c'era. Da qui la domanda
il  problema mi sembra che sia su questa
Private Sub imposta2()
Set ListaScielte = New ADODB.Recordset
With ListaScielte
Set .ActiveConnection = CurrentProject.Connection
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open "TabellaAppoggio", Options:=adCmdTableDirect
------------------------------------------
PrevFatt.RowSource = ListaScielte.Source
------------------------------------------
End With
End Sub
per quella evidenziata. In ListaScielte.Source non c'e' nulla ("")
ed inoltre in quel momento "TabellaAppoggio" e' vuota
quindi la ListBox che vedi risulta anch'essa vuota
(per il primo motivo. Ne sono  certo perche' l'ho provata,
infatti sostituendo con una select qualsiasi funziona)
--
a.cara

 PrevFatt.RowSource = ListaScielte.Source
Secondo me la pelle d'oca č venuta anche ad Access :-) Anche lui ha un'anima e
si rifiuta di eseguire il codice, sebbene corretto.
Ciao. Claudio.

 a.cara
Ma tu garda che s[biiiiiiiip]ta , se penso di aver capito bene mi devi dare
il tuo indirizzo che vengo a ringraziarti di persona.
Ciao, domani ti faccio sapere.
