collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 76
  • Punkt Versteckte: 1
  • Punkt Mitglieder: 1

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 14129
  • stats Beiträge insgesamt: 68347
  • stats Themen insgesamt: 9206
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Datenbank mit DB_open table in Front und Backend trennen  (Gelesen 144 mal)

Offline martie01

  • Newbie
  • Beiträge: 9
Datenbank mit DB_open table in Front und Backend trennen
« am: Dezember 04, 2018, 21:31:03 »
Hallo,
ich hab eine Datenbank , welche ich nun aufteilen möchte.Dabei bekomme ich die Fehlermeldung im Bereich "DB open table".
Was muss ich tun, um diese Datenbank trotzdem aufteilen zu können.
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7497
Re: Datenbank mit DB_open table in Front und Backend trennen
« Antwort #1 am: Dezember 04, 2018, 22:42:05 »
Hallo,
glaubst Du ernsthaft mit den Angaben könnte jemand helfen ?
Gruß
Klaus
 

Offline martie01

  • Newbie
  • Beiträge: 9
Re: Datenbank mit DB_open table in Front und Backend trennen
« Antwort #2 am: Dezember 07, 2018, 20:31:41 »
Hallo, wenn eine(r) Ahnung von der Materie hat, und  vom Prinzip weiterhelfen möchte, glaube ich schon.
Ich weiss ja nicht, welche Infos fehlen.
Wie gesagt, ich habe eine Datenbank, welche  ich in Front und Backend aufteilen möchte. Bis auf den Part der...Dbopentable funktioniert das auch. Wenn ich dbopentable in db opendynaset tausche,  bekomme ich die Fehlermeldung... operation wird für diesen objekttyp nicht unterstützt
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1427
Re: Datenbank mit DB_open table in Front und Backend trennen
« Antwort #3 am: Dezember 07, 2018, 21:14:08 »
Hier kann man wirklich nur raten. Recordsets über verknüpfte Tabellen können nicht mit der Option dbOpenTable geöffnet werden. Ist dieser Öffnungsmodus gewünscht, so muss ein neues Datenbank-Objekt über die Datenbank (Backend) geöffnet werden, in dem die Taelle beheimatet ist.
Code: Visual Basic
   Dim db As DAO.Database

   Set db = OpenDatabase("C:\der\pfad\zum\be.accdb")
   With db.OpenRecordset("tabelle_im_be", dbOpenTable)
      'mach was mit dem Recordset
     .Close
   End With
   db.Close
[edit]Klammern hinzugefügt[/edit]
« Letzte Änderung: Dezember 08, 2018, 18:44:25 von Lachtaube »
Grüße von der (⌒▽⌒)
 

Offline martie01

  • Newbie
  • Beiträge: 9
Re: Datenbank mit DB_open table in Front und Backend trennen
« Antwort #4 am: Dezember 08, 2018, 12:56:01 »
Hallo,erst mal schon mal Danke für die Antwort. wenn ich das so umsetzte, wie Du beschrieben hast, erhalte ich den text in rot .
Set DB =  OpenDatabase "C:\Users\martin\Desktop\xyz_be.accdb" :-\

Ich würde das auch lieber als dbopendynaset gestalten, habe nur leider keinen Plan, wie das geht.
Ich habe diesen Bereich bei mir in die Datenbank implementiert .
http://forum.freeaccess.de/YaBB.pl?num=1053085431/16

Was müsste ich denn tun, um dieses als dbopendynaset umzusetzen??
 

Offline martie01

  • Newbie
  • Beiträge: 9
Re: Datenbank mit DB_open table in Front und Backend trennen
« Antwort #5 am: Dezember 08, 2018, 13:04:05 »
Anmerkung : die Klammern fehlten. Klappt trotzdem nicht.
Fehlermeldung ...unzulässige Operation
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23509
Re: Datenbank mit DB_open table in Front und Backend trennen
« Antwort #6 am: Dezember 08, 2018, 13:18:07 »
Hallo,

es wäre vorteilhaft, Deine  gesamte Problematik vollständig zu erläutern anstatt an die Ahnung-von-der-Materie  anderer Leute  zu glauben....


Wenn die DB aufgeteilt ist, warum soll das BE als separate Database geöffnet werden?

Offline martie01

  • Newbie
  • Beiträge: 9
Re: Datenbank mit DB_open table in Front und Backend trennen
« Antwort #7 am: Dezember 08, 2018, 13:48:07 »
Ich dachte , ich hätte mein Problem ausreichend erläutert.
Ich möchte diesen  VBA Code  http://forum.freeaccess.de/YaBB.pl?num=1053085431/16
so umsetzten, das er in einer geteilten Access Datenbank funktioniert.
Danke
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1965
Re: Datenbank mit DB_open table in Front und Backend trennen
« Antwort #8 am: Dezember 08, 2018, 14:51:37 »
@martie01
Was hat denn der Link mit der Aufteilung zu tun?
Wenn die Aufteilung mit dem Assistenten nicht funktioniert, versuche es manuell.
Alle Tabellen in eine neue DB kopieren; - = Backend.
Tabelle in alter DB (Frontend) löschen und über "Externe Daten" mit der neuen
BE-DB verknüpfen. Dann kannst du über CurrentDb genauso auf die Tabellen
zugreifen als ob sie lokal wären.
Falls du aus dem FE Strukturänderungen am BE vornehmen willst, musst du es so
machen, wie es Lachtaube gezeigt hat; - Referenz per "OpenDatabase" erstellen.
gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1427
Re: Datenbank mit DB_open table in Front und Backend trennen
« Antwort #9 am: Dezember 08, 2018, 20:30:52 »
Mit einem Dynaset sollte das ungefähr so funktionieren (Feld- und Tabellennamen wären anzupassen).
Code: Visual Basic
Sub BuildLevelsForArticle(ByVal ArtikelId As Long)
   Dim db As DAO.Database
   Dim Target As DAO.Recordset
   Dim Source As DAO.Recordset
   
   Set db = CurrentDb
   db.Execute "DELETE FROM tmpAufloesung"

   Set Source = db.OpenRecordset("Stueckliste", dbOpenDynaset)
   Set Target = db.OpenRecordset("tmpAufloesung", dbOpenDynaset)
   
   Target.AddNew
   Target!Ebene = 0
   Target!Menge = 1
   Target!ArtikelId_1 = ArtikelId 'das ist weniger logisch
  Target!ArtikelId_2 = ArtikelId 'auf der untersten Ebene - Null wäre klarer
  Target.Update

   Call EvalArticleList(ArtikelId, 0, Source, Target)
   
   Target.Close
   Source.Close
End Sub

Sub EvalArticleList(ByVal ArtikelId As Long, ByVal Ebene As Long, _
                    Source As DAO.Recordset, Target As DAO.Recordset)
   Dim Criteria As String
   Dim bm As Variant

   'Suchkriterium, wo ArtikelId Fremdschlüssel ist, anlegen
  Criteria = BuildCriteria("ArtikelId_F", dbLong, ArtikelId)

   'Suche starten
  Source.FindFirst Criteria
   
   'solange bis nichts mehr gefunden wird
  Do Until Source.NoMatch
      'einen Datensatz in der Zieltabelle erstellen
     Target.AddNew
      Target!Ebene = Ebene + 1
      Target!Menge = Source!Menge
      Target!ArtikelId_1 = ArtikelId
      Target!ArtijelId_2 = ArtikelId_F
      Target.Update
     
      'Position merken
     bm = Source.Bookmark
     
      'alle untegeordneten Artikel der nächsten Ebene finden
     Call EvalArticleList(Source!ArtikelId, Ebene + 1, Target, Source)
     
      'an der gemerkten Position fortsetzen
     Source.Bookmark = bm
     
      'nächsten Artikel auf gleicher Ebene suchen
     Source.FindNext Criteria
   Loop
End Sub
Grüße von der (⌒▽⌒)
 

Offline martie01

  • Newbie
  • Beiträge: 9
Re: Datenbank mit DB_open table in Front und Backend trennen
« Antwort #10 am: Dezember 11, 2018, 21:20:08 »
Hallo Lachtaube, ich habe Deinen oberen Vorschlag versucht umzusetzen.Scheitere jedoch daran, das ich die Tabellen (tbl u.tbl_1 ) nicht zuordnen kann.

Set DB = OpenDatabase("C:\Users\martin\Desktop\alltec V12_061218_be.accdb")
With DB.OpenRecordset("tmpStücklisteAuflösung", dbOpenTable)
With DB.OpenRecordset("tdtaStückliste", dbOpenTable)

'With tbl = DB.OpenRecordset("tmpStücklisteAuflösung", dbOpenTable) 'DB_OPEN_TABLE
'With tbl_1 = DB.OpenRecordset("tdtaStückliste", dbOpenTable)  'DB_OPEN_TABLE

Was mache ich falsch?
Gruss
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1427
Re: Datenbank mit DB_open table in Front und Backend trennen
« Antwort #11 am: Dezember 11, 2018, 21:53:01 »
In den Bruchstücken kann ich ich keinen syntaktischen Fehler entdecken. Folgendes gilt es zu beachten:
Code: Visual Basic
   With ErstesObjekt
      'hier kann auf Methoden des Objekts beginnend mit dem Punkt-Operator
     'zugegriffen werden
     With ZweitesObject
         'hier kann nur auf Methoden vom zweiten Objekt mit dem Punkt-Operator
        'zugegriffen werden
     End With
      'ab hier steht das erste Objekt wieder zur Verfügung
  End With

   'wenn nach dem zweiten With Zugriff auf das erste Objekt benötigt wird,
  'sollte es einer Objektvariablen zugewiesen werden
  Dim rs As DAO.Recordset

   '...
  set rs = db.OpenRecordset(...) 'das Erste Objekt
  With db.OpenRecordset(...) 'das wweite Object
     rs.Seek ... 'Methode des ersten Objekts
     .Seek ...   'Methode des zweiten Objekts
  End With

PS: Code bitte zukünftig nicht als Freitext posten.
Grüße von der (⌒▽⌒)
 

 

Benutzername und Passwortabfrage beim Öffnen jeder Datenbank

Begonnen von mradlmaierBoard Access-Hilfe

Antworten: 5
Aufrufe: 6429
Letzter Beitrag Mai 16, 2010, 13:44:16
von database
Hilfe!!!!! Brauche dringend jemanden der mir eine Datenbank erstellt!!!

Begonnen von schnappi00Board Access-Hilfe

Antworten: 1
Aufrufe: 2700
Letzter Beitrag Juni 05, 2010, 18:26:40
von DF6GL
Klassendiagramm aus der bestehneden Datenbank erstellen

Begonnen von Muhtar99Board Access-Hilfe

Antworten: 1
Aufrufe: 4858
Letzter Beitrag Juni 18, 2010, 22:20:27
von database
Datenbank zur Logistikgerechten Produktentwicklung

Begonnen von ohnePlanBoard Tabelle/Abfrage

Antworten: 2
Aufrufe: 3030
Letzter Beitrag Juni 26, 2010, 09:47:53
von accessundich
exportieren von zellen in access datenbank

Begonnen von thomutBoard Microsoft Excel

Antworten: 0
Aufrufe: 2157
Letzter Beitrag Juli 04, 2010, 15:47:03
von thomut