Das Programm PC-Kaufmann von Sage ist ein bekanntes Buchhaltungsprogramm. Leider lassen die Export-Funktionen etwas zu wünschen übrig. Es ist aber relativ leicht möglich, die internen Buchhaltungsdaten in eine beliebige andere Datenbank zu übertragen und dann weiterzuverarbeiten.

Alle Mandanten-Daten werden von PC-Kaufmann in einer *.pck Datei gespeichert (findet man i.A. unter C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\Sage\PC-Kaufmann\Data). Diese Datei ist in Wirklichkeit eine Microsoft Access Datenbank, nur hat sie die Dateiendung *.pck anstelle *.mdb . Kopiert man diese Datei z.B. nach db.mdb, kann man sie mit Microsoft Access öffnen.

Achtung: man sollte nur auf eine Kopie der Daten zugreifen, niemals auf die Originaldaten!

Mit Access 97 ließ sich eine umbenannte PC-Kaufmann-Datei problemlos öffnen, nicht aber mit Access 2003 oder Access 2007. Es gab immer die Fehlermeldung "Das aktuelle Benutzerkonto ist nicht berechtigt, diese Datenbank zu konvertieren oder zu aktivieren".

Konvertierung nach MySQL

Eine Access-Datenbank kann man leicht nach MySQL (oder nach Oracle oder in irgendein anderes Format) konvertieren, indem man eine ODBC-Verbindung zur gewünschten Datenbank erstellt und in einem zweiten Schritt dann die Access-Datenbank exportiert, wobei man als Ziel die neue ODBC-Verbindung auswählt. Das kann bei einer Datenbank mit vielen Tabellen jedoch sehr mühsam werden, da man jede Tabelle einzeln exportieren muss. In diesem Fall sollte man besser ein Konvertierungsprogramm einsetzen. Ich habe ganz gute Erfahrungen mit den Produkten der Firma Intelligent Convertersgemacht, die zahlreiche Konvertierungsprogramme für alle möglichen Ausgangs- und Zielformate anbietet. Sehr praktisch an den Konvertern dieser Firma ist, dass man sie auch von der Kommandozeile aus starten kann, d.h. man kann sich eine kleine Batch-Datei schreiben, die man nach jeder Nutzung von PC-Kaufmann doppelklicken kann und die dann die gesamten Daten (oder nur die benötigten Tabellen) automatisch auf den MySQL Server kopiert.

Zugriff

Es gibt sehr viele PC-Kaufmann-Tabellen, und die meisten enthalten ziemlich viele Felder. Welche Daten welches Feld enthält, ist nicht immer klar, aber die wichtigsten Informationen findet man schnell raus.

Adressen

select
    PersKtoNummer        as "ID",
    PersKtoName1         as "Name",
    PersKtoName2         as "Zusatz",
    PersKtoStrasse       as "Strasse",
    PersKtoLaendercode   as "Land",
    PersKtoLandPlz       as "PLZ",
    PersKtoOrt           as "Ort",
    PersKtoLetzterUmsatz as "Letzter Umsatz"
from
    sPersKto
where
    PersKtoArt  = 68

Die Konstante '68' ist möglicherweise bei jeder PC-Kaufmann-Installation unterschiedlich.

Artikel

select
    ArtNr                 as "Best. Nr.",
    ArtName1              as "Bezeichnung",
    ArtName2              as "Zusatz",
    round(ArtVkPreis_0,2) as "Preis"
from
    sArtikel
order by ArtNr asc

Rechnungen

select
    ABFDocErfNr                       as "Rechnungs-Nr.",
    ABFDocDatum                       as "Datum",
    round(ABFDocSumme,2)              as "Gesamt",
    ABFDocKundenNr                    as "Kunden-Nr.",
    ABFDocKundeKurzbez                as "Kunde",
    ABFPosArtNr                       as "Art. Nr.",
    round(ABFPosMenge,2)              as "Anz.",
    round(ABFPosEPreis,2)             as "Preis",
    round(ABFPosMenge*ABFPosEPreis,2) as "Summe",
    ABFPosName1                       as "Name",
    ABFPosName2                       as "Zusatz"
from
    ABFDok, ABFPos
where
    ABFPos.ABFPosDocId = ABFDok.ABFDocId
order by ABFDocDatum desc

Umsätze pro Monat

select 
    date_format(ABFDocDatum, "%Y-%m") as "Monat",
    sum(ABFDocSumme) as "Summme"
from
    ABFDok
group by
    date_format(ABFDocDatum, "%Y-%m")

7 Comments

  1. Anonymous

    Hi Arne,

    ist das mit der 2009er Version auch noch möglich?

    1. ja, geht ohne Probleme.

  2. Anonymous

    SUPER! Danke für Deine Antwort und den Artikel. Das Netz bräuchte mehr von Deiner Sorte!

  3. Anonymous

    Nochmal ich.....

    Mit OpenOffice lässt die Datei sich auch öffnen!

    1. Anonymous

      Hallo,

      Habe open office 3.0 und die umbenannte pck-Datei lässt sich bei mir nicht öffnen. Ich habe es mit der mdb oder der odb-Endung probiert. PC hängt sich jedes Mal auf. Habe mit Datenbanken Null Erfahrung. Wo erfahre ich mehr  MySQL oder ODBC-Verbindung, bzw. wer kann einem Laien wie mir Schritt für Schritt weiterhelfen?

      Ärgere mich schon seit langem mit der Exportfunkton des PC-Kaufmanns herum. Da hat wohl jemand gewürfelt an welchen Stellen ein Export möglich ist und wo nicht.

      Über Hilfe würde ich mich sehr freuen.

      Viele Grüße

      gobetta@web.de

  4. Anonymous

    Hallo an Alle,

    in früheren Versionen von "damals" KHK PC-Kaufmann hatte man sogar einen Schreibzugriff auf die Tabellen, wenn man sie in MS-Access geöffnet hatte. Dies hat sage jedoch leider sehr bald abgestellt, so dass man nun nur noch einen Lesezugriff hat.

    Für mich ist das ärgerlich, da ich in der Vergangenheit des öfteren einmal einen Lagerbestand manuell ändern konnte (z.B. bei Falscherfassung oder wenn man einen posten Gebrauchtgeräte kauft und alle Optionen manuell anlegen muss). Heute kann ich leider nur noch über den sehr umständlichen Weg einer Inventur die Lagerbestände verändern. Kennt jemand einen Weg (Passwort) die Datenbank auch für einen Schreibzugriff zu öffnen? (ist mir bewusst, dass dies ein Risiko darstellt und das man es tunlichst lassen sollte - aber dieses Risiko gehe ich gern ein um mir Aufwand zu ersparen - Datensicherung ist ja immer vorhanden!)

    Für einen Tipp wäre ich sehr danbar!

    Gruß,

    Erik Hartnagel (erik@hartnagel.de)

    1. Anonymous

      HI - Tipp: Neue Datenbank erstellen. Alles markieren und importieren aus der umbenannten .pck in .mdb und nun die entsprechenden Feldinhalte in der gewünschten Tabelle ändern. Dananch die Datenbank speichern und wieder in eine .pck umbenennen.... bei mir klappt das - also viel Erfolg.