Newsgroup: it.comp.appl.access
Titolo: Copiare record da query a tabella tramite vba

Ciao,
ho una query "CalcolaOttoBis" con un unico campo "Otto" composto sempre di
otto record , esempio :
Otto
4
8
11
18
20
21
30
31
Vorrei aggiungere alla tabella "Estrazioni" , composta dai campi :
1,2,3,4,5,6,7,8,Data,Concorso
ho tentato malamente questo codice vba :
Dim rst As Recordset
Dim rst2 As Recordset
Dim fld As Field
Set rst = CurrentDb.OpenRecordset("CalcolaOttoBis")
rst.MoveFirst
rst.Move CurrentRecord - 1
Set rst2 = CurrentDb.OpenRecordset("Estrazioni")
rst2.AddNew
For Each fld In rst.Fields
rst2(fld.Name) = fld
Next fld
rst2.Update
End Sub
grazie.
----------------------------------------------------------------------------
----
se vuoi scrivermi scacchi64 chiocciola yahoo punto it
www.sitocomune.com
\index.html
http://groups.google.com/advanced_group_search?hl=en&lr=&group=it.comp.appl
.
access&safe=off
----------------------------------------------------------------------------
-----

 ho tentato malamente questo codice vba :
[CUT]
 Dim rst As DAO.Recordset
 Dim rst2 As DAO.Recordset
 Set rst = CurrentDb.OpenRecordset("CalcolaOttoBis")
 rst.MoveFirst
 Set rst2 = CurrentDb.OpenRecordset("Estrazioni")
 rst2.AddNew
do until rst.eof
    rst2.fileds(x)=rst.fileds(0)
    x=x+1
     rst.movenext
 Loop
 rst2.Update
 End Sub
Ciao.
@Alex.

Dim rst As DAO.Recordset
 Dim rst2 As DAO.Recordset
 Set rst = CurrentDb.OpenRecordset("CalcolaOttoBis")
 rst.MoveFirst
 Set rst2 = CurrentDb.OpenRecordset("Estrazioni")
 rst2.AddNew
Do Until rst.EOF
    rst2.Fields(X) = rst.Fields(0)
    X = X + 1
     rst.MoveNext
 Loop
 rst2.Update
 End Sub
mi dice : Elemento non trovato in questo insieme . Errore run-time 3265.
Il problema nasce forse dal datto che la query contiene un unico campo , è
disposto in "verticale"
esempio :
Otto
4
8
11
18
20
21
30
31
mentre i record della  tabella estrazioni sono in "orizontale".....esempio
di come li vorrei :
4    8    11    18    20    21    30    31
GRAZIE.ciao!

 ha scritto nel messaggio
news:2hud87F...@uni-berlin.de...

No, hai inserito i Riferimenti a DAO....?
Hai messo la dichiarazione di X as INteger, mi è sfuggita, anche a te..??
Il fatto che la Query abbia solo 1 campo non importa, il fatto
che sia in Verticale invece si dice che ha più Records....!
Mi viene il dubbio che non ci sia Corrispondenza tra il Numero di Records
della Query e il Numero di Fields della Tabella.....!!!!
Sei sicuro di questa cosa...???
 Dim rst As DAO.Recordset
  Dim rst2 As DAO.Recordset
  '--------------------------- 
  Dim x as integer
  '---------------------------
  Set rst = CurrentDb.OpenRecordset("CalcolaOttoBis")
  if rst.eof and rst.bof then Msgbox "Nessun Records Trovato":Exit sub
  rst.MoveFirst
  Set rst2 = CurrentDb.OpenRecordset("Estrazioni", db opentable)
  rst2.AddNew
 Do Until rst.EOF
     Debug.Print rst2.fileds(x).name
     rst2.Fields(X) = rst.Fields(0)
     X = X + 1
      rst.MoveNext
  Loop
  rst2.Update
  End Sub
Prova con CTRL+G ad aprire la Finestra Immegiata ed eseguire la SUB
vedi se il Debug.Print inserito restituisce sempre(8 volte) il Nome del
Campo
della Tabella in cui deve scrivere....!!!
Ciao.
@Alex.

 @Alex.
ciao e grazie ancora !

 ciao e grazie ancora !
Il record viene Aggiunto e basta, non esiste Inizio o Fine in una Tabella.
Capisco ciň che intendi, ma ti basta Ordinare il Tutto rispetto ad un Campo.
Se usi la tabella come Origine di una Form nella proprietŕ OrdinaPer metti
il Nome del Campo.....!
Se non hai un Counter come Campo PrimaryKey č concettualmente non corretto
considerare gli estremi di una Tabella...!!
Ciao.
@Alex.

 @Alex.
Ciao !