Re: tabellen erstellen -> tabelle nicht da

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance

From: Peter Doering (nospam_at_doering.org)
Date: 06/18/04


Date: Fri, 18 Jun 2004 10:44:45 +0200

Hallo Henry,

On Fri, 18 Jun 2004 14:49:10 +0700, Henry Habermacher [MVP Access] wrote:
> Peter Doering wrote in news:2jfettF110m48U1@uni-berlin.de:
>
>> Nach dem Anlegen der neuen Tabelle muss ein Refresh auf die Container
>> gemacht werden, der bei CurrentDB automatisch gemacht wird. Bei
>> DBEngine(0)(0) musst du's selbst machen.
>
> Ich bin da nicht mal so sicher, ob das was nützt (obwohl ich mir auch
> angewöhnt habe, jeweils ein Database.TableDefs.Refresh hinterher zu
> schicken). Ich habe selber schon einmal an diesem Problem rumgemacht.
> DoCmd scheint da - das war irgendwie das, was ich daraus schloss -
> asynchron zur CurrentDB was zu machen, rsp. es kann durchaus sein, dass
> die CurrentDB das nicht mitbekommt.

Waere mir neu.

> Wenn Du mit Database.Execute arbeitest und anschliessend das Recordset
> auf der gleichen Database Instanz öffnest, müsste hingegen das Tabledef
> Objekt (rsp. die Tabelle) vorhanden sein, weil sonst die Operation
> innerhalb der Transaktion noch abgeschlossen ist.

Das wiederum deckt sich /nicht/ mit meinen Erfahrungen. Immer dann, wenn
eine Instanz von CurrentDB gebildet wird, gibt's den (eingebauten) Refresh.
Bleibst du innerhalb der gleichen, musst du den Refresh selbst
nachschicken. Und DBEngine(0)(0) ist eben wegen des fehlenden Refreshs um
so viel schneller.

> DoCmd macht irgendwie
> immer neue Transaktionen und entzieht sich daher der
> Transaktionskontrolle durch den Benutzer.

Ja, es ruft den Makro-Interpreter auf. Da ich Makros nicht nutze, haelt
sich meine Erfahrung damit in Grenzen ;-)

Gruss - Peter

-- 
Ich beantworte keine Fragen per Email.
Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com


Relevant Pages

  • Re: tabellen erstellen -> tabelle nicht da
    ... >> den Refresh selbst nachschicken. ... >> des fehlenden Refreshs um so viel schneller. ... > damit die Database Instanz, die er anschliessend für das Recordset ... also eine /neue/ Instanz von CurrentDB ... ...
    (microsoft.public.de.access)
  • Re: tabellen erstellen -> tabelle nicht da
    ... der bei CurrentDB automatisch gemacht wird. ... innerhalb der Transaktion noch abgeschlossen ist. ... Keine E-Mails auf Postings in NGs senden! ...
    (microsoft.public.de.access)
  • Re: Question from Access 2007 VBA by Hennig et al
    ... If Then Set dbC = CurrentDb() ... Dim Dbs As DAO.Database ... Set Dbs = CurrentDb ... forgetting to use Refresh and relying on CurrentDb ...
    (microsoft.public.access.modulesdaovba)
  • Re: Setting field properties in code
    ... Try using CurrentDb() in its place. ... > you will need to create a Database object or else the reference ... But if you're using DBEngine, all you have to do is refresh the ...
    (comp.databases.ms-access)
  • Re: Adding Records by Code
    ... but: this is overkill: ... The CurrentDb call automatically refreshes /all/ collections. ... You'd only need to refresh the Tables collection if, for example, you ...
    (microsoft.public.access.formscoding)