Newsgroup: it.comp.appl.access
Titolo: Problemi Modulo in Rete

Ho creato un modulo per l'aggiornamento di una tabella dopo avere avuto
delle prenotazioni.
Se lavoro in locale, cioč lascio tutto in un unico database, tabelle e
maschere , funziona perfettamente , se invece divido il dtabase e metto le
tabelle in un altro database, e le collego al primo, quando entra in
esecuzione in modulo dice operazione non Valida.
Sivuramente commetto un errore  e nel codice del modulo gli va detto di
andare a pescare nel secondo database, ma come??
vi metto copia del modulo creato,
ringrazio per i suggerimenti.
Carlo
Option Compare Database
Option Explicit
Public A As Boolean
Dim db As Database
Dim Prop As Property
Dim booTemp As Boolean
Dim strNome As String
Public Sub Aggiungi_prenotazione()
'By Carlo
Dim ab As Database
Dim tbl As Recordset
    A = False
    Set db = CurrentDb
    Set tbl = db.OpenRecordset("datiAlberghi", dbOpenTable)
    With tbl
        .Index = "codealb"
        .Seek "=", Forms![prenotazioni]![codealb]
        Select Case Forms![prenotazioni]![tipostanza]
        Case "Doppia"
             .Edit
            !doppia = !doppia - 1
            .Update
             .Edit
              If !doppia < 0 Then MsgBox "Camera non disponibile"
              If !doppia >= 0 Then MsgBox "Camera  disponibile Prenotazione
effettuata"
             If !doppia < 0 Then !doppia = !doppia + 1
            .Update
            End
        Case "Matrimoniale"
             .Edit
            !matrimoniale = !matrimoniale - 1
            .Update
            .Edit
              If !matrimoniale < 0 Then MsgBox "Camera non disponibile"
              If !matrimoniale >= 0 Then MsgBox "Camera  disponibile
Prenotazione effettuata"
             If !matrimoniale < 0 Then !matrimoniale = !matrimoniale + 1
            .Update
            End
        Case "Quadrupla"
            !quadrupla = !quadrupla - 1
            .Update
            .Edit
              If !quadrupla < 0 Then MsgBox "Camera non disponibile"
              If !quadrupla >= 0 Then MsgBox "Camera  disponibile
Prenotazione effettuata"
             If !quadrupla < 0 Then !quadrupla = !quadrupla + 1
            .Update
            End
        Case "Singola"
            .Edit
            !singola = !singola - 1
            .Update
            .Edit
              If !singola < 0 Then MsgBox "Camera non disponibile"
              If !singola >= 0 Then MsgBox "Camera  disponibile Prenotazione
effettuata"
             If !singola < 0 Then !singola = !singola + 1
            .Update
            End
        Case "Tripla"
            .Edit
            !tripla = !tripla - 1
            .Update
              .Edit
              If !tripla < 0 Then MsgBox "Camera non disponibile"
              If !tripla >= 0 Then MsgBox "Camera  disponibile Prenotazione
effettuata"
             If !tripla < 0 Then !tripla = !tripla + 1
            .Update
            End
        Case Else
        End Select
        .Close
    End With
End Sub
--
Carlo

 Carlo
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 Carlo
CUT
Anch'io ho avuto problemi a far funzionare il metodo Seek su tabelle
collegate. Poi, dopo lunghe ricerche ho trovato (non so più dove) l'esempio
di una funzione con cui ho risolto il problema.
Crea un modulo e copia all'interno il codice seguente:
*****************
Option Compare Database
Option Explicit
Public DBLinked As Database
Public RSTLinked As DAO.Recordset 'variabile che contiene l'output
                                  'della funzione caricarecordset
Public Function CaricaRecordset(MiaTabella As String)
'+------------------------------------------------------------------+
 ' Procedura per far funzionare METODO SEEK con tabelle collegate   '
 ' la procedura recupera il collegamento e restituisce un recorset  '
 ' di tipo tabledef                                                 '
'+------------------------------------------------------------------+
Dim dbPath
Dim SourceTable
    Set DBLinked = DBEngine(0)(0)
    dbPath = Mid(DBLinked(MiaTabella ).Connect, InStr(1, _
        DBLinked(MiaTabella ).Connect, "=") + 1)
    If dbPath = "" Then
        MsgBox "Tabella già disponibile nel database", 64
    End If
    SourceTable = DBLinked(MiaTabella ).SourceTableName
    Set DBLinked = DBEngine(0).OpenDatabase([Inserisci qui il path completo
del tuo BackEnd, esempio: C:\....\MioDB.MDB])
    Set RSTLinked = DBLinked.OpenRecordset(SourceTable, DB_OPEN_TABLE)
End Function
*****************************
Poi nel tuo modulo (dove usi il metodo Seek) aggiungi la dichiarazione della
variabile MiaTabella as String
e richiami la funzione CaricaRecordset come segue:
Dim MiaTabella as String
...
    MiaTabella = "NomeTuaTabella"
    Call CaricaRecordset(MiaTabella)
    With RSTLinked
        .Index = "TuoIndice"
        .Seek "=", ......omissis.......
    End With
    RSTLinked.Close
    Set RSTLinked = Nothing
    DBLinked.Close
Exit Sub
Ciao, Massimiliano

 ha scritto nel messaggio
news:CSRt9.70988$RO.17...@twister1.libero.it...

Fermo restando che il problema č dovuto all'uso della Seek su tabelle
collegate, trovi una soluzione anche sul Sito Comune (link qui sotto), nella
Sezione Tables, nella FAQ di Valerio Bussi intitolata "Utilizzare il metodo
seek con una tabella collegata (be)."


 ha scritto nel messaggio
news:ESUt9.71742$RO.18...@twister1.libero.it...


 ha scritto nel messaggio
news:FFYt9.37064$TD1.1...@news2.tin.it...


 Le avevo indicate nell'esempio, ma non servono.
Serve sicuramente invece scrivere DOPO il quoting, da NON riproporre
integralmente!!!
Antonio


Oh, oh... chiedo scusa.

Grazie
Carlo