Newsgroup: it.comp.appl.access
Titolo: Trasferire Oggetti

Salve a tutti io mi trovo di fronte a questa situazione:
ho un database che deve potermi prendere un oggetto da un'altro db e
trasferirlo ad un'altro ancora.
Per esempio: Io riesco tranquillamente a dirgli "Trasferisci la tabella ciao
da qui a la", ovvero se la tabella da trasferire è sul db corrente non c'è
problema, mentre invece se gli devo dire "Trasferisci ciao da li a la" come
faccio?
Spiego meglio:
A = db di origine
B = db di destinazione
C = db da cui lancio il comando
in C devo avere un comando che mi trasferisca un oggetto da A a B è
possibile?
Ciao e grazie a chi mi risponderà
Marco

 wrote in message
news:8D9D7.12945$74.3...@news2.tin.it...

E' possibile...
ti posto una funzione che io uso nell'Access Navigator.
Io importo un insieme di maschere da un database (diverso dal corrente) al
corrente.
L'idea di base comunque consente di "copiare" da un qualsiasi db a qualsiasi
altro.
Prova a capirci qualcosa, se hai problemi riposta.
Un saluto
Michele Amato
p.s.
In realtà questa idea mi fu suggerita mesi addietro da qualcuno di questo NG
di cui purtroppo non mi ricordo il nome. Quindi non è tutta farina del mio
sacco :-)
'Comments  :
'Parameters:
'Sets      :
'Returns   :
'Created by: Michele Amato - M.A.Engineering
'Created   : 15/05/01 16:15:15
Private Function fxImportaMaschere(dba As Database, dbs As Database,
rvMaschere As Variant) As Integer
On Error GoTo Err_fxImportaMaschere
Dim app As Application
Dim lsProv As String
Dim lsPath As String
Dim liI As Integer
Dim liN As Integer
Dim liCount As Integer
  Set app = New Application
  lsProv = dba.Name
  lsProv = Left(dba.Name, Len(lsProv) - 4) & "Forms.mda"
  If Dir(lsProv) = vbNullString Then
    lsPath = fxMAE_GetPathFromPathName(dba.Name)
    lsProv = fxMAE_OpenFileDialog(lsPath, fxMAE_CreaStringaFiltro("Access
Navigator Forms", "*.mda", "All"), ccMAE_APPLICATIONNAME)
  End If
  If lsProv <> vbNullString Then
    app.OpenCurrentDatabase lsProv
    liN = UBound(rvMaschere)
    liCount = 0
    For liI = 0 To liN
      Err = 0
      txtLog = txtLog & Now() & ": Trying to import " & rvMaschere(liI) &
vbNewLine
      app.DoCmd.CopyObject dbs.Name, rvMaschere(liI), acForm,
rvMaschere(liI) & "2copy"
      If Err.Number = 0 Then
        liCount = liCount + 1
        txtLog = txtLog & Now() & ": Importing " & rvMaschere(liI) &
vbNewLine
      Else
        txtLog = txtLog & Now() & ": Importing " & rvMaschere(liI) & "
error: " & Err.Number & ": " & Err.Description & vbNewLine
      End If
    Next
  End If
  txtLog = txtLog & Now() & ": Trying to import module zmMAE_Autoexec" &
vbNewLine
  app.DoCmd.CopyObject dbs.Name, "zmMAE_Autoexec", acModule,
"zmMAE_Autoexec2copy"
  If Err.Number = 0 Then
    liCount = liCount + 1
    txtLog = txtLog & Now() & ": Importing zmMAE_Autoexec" & vbNewLine
  Else
    txtLog = txtLog & Now() & ": Importing zmMAE_Autoexec error: " &
Err.Number & ": " & Err.Description & vbNewLine
  End If
  app.Quit
  fxImportaMaschere = liCount
Exit_fxImportaMaschere:
Exit Function
Err_fxImportaMaschere:
  Select Case Err
  Case 0    'insert Errors you wish to ignore here
    Resume Next
  Case Else 'All other errors will trap
    Beep
    Select Case MsgBox(Err.Description, vbAbortRetryIgnore, "Error in
Function Form_zfMAE_Installer.fxImportaMaschere")
      Case vbIgnore: Resume Next
      Case vbRetry: Resume
      Case vbAbort: Resume Exit_fxImportaMaschere
    End Select
  End Select
  Resume 0  'FOR TROUBLESHOOTING
End Function
--
{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}
Sul mio sito
http://www.maengineering.it
è possibile trovare del materiale relativo ad Access
scritto da me, freeware e shareware
{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}