Telefon: 035179593513

VBA: SQL statement to remove Primary Key from Microsoft Access table

History:

In microsoft access a primary key is an index with name PRIMARYKEY (one word)

How to remove:

 

SQL extend a Recordset / VBA DAO etc.

Sometimes you will get a problem if you want to add a data entry to a recordset, it can be done without the need of inserting the data entry to the table.

It is a little bit tricky but with a union statement you can do following:

your normal statement looks like:

 

and if you want to add a entry without insert then you can union like:

 

Microsoft Access Operation muss eine aktualisierbare Abfrage verwenden

Problem:

 

Die Aggregatsfunktionen (z.B. Min, Max usw.) einer in dieser Aktualisierungsabfrage eingebundenen Auswahlabfrage verhindern das ausführen.

 

Lösung:

 

Nachbauen der benötigten Funktion in VBA. Hier mit dem Beispiel Min.

 

Code:

 

Public Function eMin(strField As String, strTblOrQry As String) As Double

 

eMin = DMin(strField, strTblOrQry)

 

End Function

 

Verwendung:

 

In Abfrage wie folgt verwenden:

– erst das Feld in Anführungszeichen maskiert und dann die Tabelle oder Abfrage, dass ganze dann mit Semikolon getrennt

 

eMin

Compile Error in Hidden Module oder Object libary invalid; Killbits

 

Am Beispiel des Date and Time Pickers (Kalendersteuerelement bekannt aus Access).

Dieses recht populäre Steuerelement hat in der Sammlung des MSCOMCT2.OCX Active X Steuerelemente (ausgeliefert als Visual Basic Runtime Extended Files) in bestimmten Versionen ein Problem:

 

 

Problem:

 

Die problemhaften Versionen dieses Steuerelement beinhalteten eine schwere Sicherheitslücke und wurde deshalb von Microsoft mit einem sogenannten Killbit im System deaktiviert.

 

http://technet.microsoft.com/de-de/security/bulletin/ms08-070
http://support.microsoft.com/kb/957924/de

 

explizit hier die Version: Mscomct2.ocx 6.1.98.16 659264 3/24/2009 15: 52

 

Lösung:

 

1:

Aktualisierung auf eine unproblematische Version so fern in Zukunft möglich ). Wenn die Version aktualisiert wurde durch manuelles ersetzen. Muss die neue Version dem System bekannt gemacht werden:

 

 

Windows 7:

cd C:WindowsSysWOW64

regsvr32 mscomct2.ocx

 

 

2:

Oder aber man geht das Sicherheitsrisiko ein und aktiviert das Steuerelement gezielt über die Registry wieder:

1. Download der acm.exe unter http://www.nirsoft.net/utils/acm.html

2. Öffnen der ACM.EXE mit Administrationsrechten

3. Suche der CLSID {20DD1B9E-87C4-11D1-8BE3-0000F8754DA1} or mscomctl2.ocx bzw. Date and Time Picker mit STRG+F

 

 

4. Rechtsklick und Enable

Microsoft Office Performance

 

Mit der Zeit oder nach der Installation von neuen Programmen merkt man, dass ein Office Produkt langsamer geworden ist.  Es kann auch sein das ein Office Produkt sich merkwürdig verhält, z.B. bei Word nach jedem getippten Buchstaben eine Sanduhr folgt.

 

Woran liegt das?

 

Wie in meinem Blog bereits behandelt gibt es Addin, Common Addins,  VBA Makros um die Funktionalität eines Offices Produkts oder eines Dokuments zu erweitern / automatisieren.

 

Jetzt stellen wir uns vor das alle diese Erweiterungen in dem Office Produkt die selben Objekte und Events verwenden.

 

Daraus resultiert z.B. das  ein Change Event beim Tippen eines Textes Alle die auf Veränderungen reagieren wollen benachrichtigt, so dass Alle nacheinander oder manchmal sogar überschneidend abarbeiten.

 

Mögliche Resultate:

 

Es erscheint eine Sand Uhr nach jeder Eingabe oder aber es dauert ewig bis wieder etwas „passiert“.

Im schlimmsten Fall stürzt das Office Produkt einfach ab und das Dokument was man bearbeitet hat ist entweder ganz weg (nicht gespeichert) oder zumindest kaputt.

 

Lösungsansätze:

 

– Addins und Common Addins nacheinander deaktivieren

– Templates (aus dem entstehen alle neuen Dokumente) des Office Produkts auf dessen Größe (Idealfall unter 1 MB) prüfen Bsp. Windows 7 unter:

 

%userprofile%AppDataRoamingMicrosoftTemplatesNormal.dot

 

– wenn die Größe der Templates durch Autotexte im Word oder Makros sowie durch die hauseigenen Automatismen des jeweiligen Offices Produkts explodiert sind, kann man diese Template Dateien zum Test einfach umbenennen, so dass beim nächsten Start des Programms eine neue leichte Template Datei erzeugt wird

– die Größe und der Zustand der Template Datei kann unter Umständen auch zu Abstürzen und Fehlverhalten führen