Office 2010 Professional

Zugriff, Engines, Konvertierung. Von ADS über DBF bis zu SQL.

Moderator: Moderatoren

Antworten
xbaseklaus
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 246
Registriert: Mi, 04. Jun 2014 12:01
Wohnort: FRANKEN

Office 2010 Professional

Beitrag von xbaseklaus »

Guten Morgen,

warum werden bei einem identischen Office 2010 mit Windows 7 , auf dem einen Computer der Inhalt der DBF Datenbank ( z.B. für Serienbrief ) beim Anzeigen in Word 2010
von OEM nach ANSI automatisch gewandelt und auf dem anderen Computer muß ich vorher die Daten mit ConvToAnsiCP bearbeiten , damit Sie im Serienbrief richtig dargestellt werden ?????

mfg Klaus
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Office 2010 Professional

Beitrag von brandelh »

Kann es sein, dass da im Office DBF Format der Zeichensatz gewählt werden kann und die Einstellungen unterschiedlich sind ?
Ich meine, dass ich immer DBFNTX mit OEM genutzt habe und das gut funktioniert hat.

PS: wenn man die EXE auf ANSI umgestellt hat und die FOXCDX nutzt um eine DBF neu zu erstellen, wird diese intern ANSI haben.
Xbase++ kommt damit zurecht, ein Office nicht. Eventuell hat der andere User noch die ursprüngliche DBF Datei die noch auf OEM läuft.

Mehr wüsste ich jetzt nicht :wink:
Gruß
Hubert
xbaseklaus
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 246
Registriert: Mi, 04. Jun 2014 12:01
Wohnort: FRANKEN

Re: Office 2010 Professional

Beitrag von xbaseklaus »

Hallo Hubert , dem ist leider alles nicht so !!!

Die xbase Anwedung ist ne reine OEM Anwendung - die DBF sind OEM, das Xbase Programm, die erstellten Datenbanken und das Office 2010 ist bei beiden Computern
identisch , sogar die erstellten Verküpfungen mit Word bzw Excel sind die gleichen : ABER einmal wird die DBF intern anscheinend umgewandelt !!!

Standartmäßig habe ich alle verwendeten DBF für Office mit convtoansicp bearbeitet um die Umlaute zu haben ... bei dem einen PC kommt dabei natürlich misst raus, da er in
Office die DBF nch ANSI wandelt , obwohl sie ja schon in ANSI ist.

Jetzt habe ich in meinem Programm in Einstellungen einen Menüpunkt eingerichtet : Office DBF nach ANSI wandeln J oder N !!!

Aber ich weiß immer noch nicht wieso die DBF Dateien auf dem einen PC von Office automatisch gewandelt werden ??????????????? Da ist nirgendswo ne Einstellung für OEM beachten oder so ... Außerdem verwende ich die Word Dokumente mit Verknüpfung von dem PC auf dem nach ANSI vorher gewandelt werden muß 1:1 auf dem andern PC wo er selbständig wandelt. Ich habe auf auf dem PC wo er die DBF selbsändig von OEM nach ANSI wandelt neu erstellt , immer das gleiche Problem :banghead: :banghead: :banghead: :banghead: :banghead: :banghead: :banghead: :banghead: :banghead: :banghead: :banghead: :banghead:
DelUser01

Re: Office 2010 Professional

Beitrag von DelUser01 »

Hallo Klaus

habe Dir keine Antwort - aber so einen Effekt hatte ich die letzten Wochen auch festgestellt. Bin der Sache aber wegen Zeitmangel nicht weiter nachgegangen.
Ich meine, dass das etwas mit dem CreateObject() zu tun hat. Da muss Xbase++ oder das Betriebssystem erkennen, dass es die Zeichen wandeln muss oder auch nicht...
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Office 2010 Professional

Beitrag von Herbert »

Warum gehst du direkt auf eine .dbf los?
Ich erstelle eine Schnittstellen-Textdatei, mit dem Vorteil, Daten aus mehreren .dbfs zusammenmischen zu können (z.B. Vertreteradresse anstelle der "normalen" Adresse usw.

Code: Alles auswählen

nze := FCREATE(cPrt,0)
 IF nze >= 0    
  FWRITE(nze,'ANREDE!NAMEVORNAME!VORNAMENAME!BEZEICHN!STRASSE!PLZORT!VERSNR!HORT!BRIEFANREDE!BETRIFFT'+CRLF)
  DO WHILE !EOF()
  ......   // Daten ev,. zusammensuchen
      cBuf := ....
      FWRITE(nze,OemToAnsi(cBuf)+CRLF)   // Umwandeln oder auch nicht, wie man will
      DbSelectArea(32)
      SKIP
    ENDDO
Grüsse Herbert
Immer in Bewegung...
DelUser01

Re: Office 2010 Professional

Beitrag von DelUser01 »

OK - wenn er die DBF direkt in Word öffnet ist meine Antwort natürlich Quatsch.
(Auf die Idee bin ich noch gar nicht gekommen DBF als Serienbrief-Steuerdatei zu )nehmen...
xbaseklaus
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 246
Registriert: Mi, 04. Jun 2014 12:01
Wohnort: FRANKEN

Re: Office 2010 Professional

Beitrag von xbaseklaus »

Hallo Herbert,

diese Vorgehensweise ist nicht schlecht , da ich damit wahrscheinlich auch im neuen Office 2013 keine Probleme mit der Einbindung haben werde.

Aber wie sieht das aus bei FELDERN die mit "..." oder , oder ; oder -_ oder ähnlichen Sonderzeichen belegt sind !?!

mfg Klaus
xbaseklaus
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 246
Registriert: Mi, 04. Jun 2014 12:01
Wohnort: FRANKEN

Re: Office 2010 Professional

Beitrag von xbaseklaus »

Ja Roland ich nehme speziell erstellte DBF Dateien als Steuerdatei .... da meine Kunden öfters Sonderzeichen in den Feldern verwenden mit denen dann Office nicht klarkommt, da sie als Trennzeichen interpretiert werden ...

mfg Klaus
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9358
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: Office 2010 Professional

Beitrag von Tom »

Ich halte das für keine gute Idee, Tabellen direkt verwenden zu lassen. Wenn jemand parallel mit genau diesen Tabellen zu arbeiten versucht, kann es Probleme geben.

Ursache sind vermutlich unterschiedliche Office-Importfilter.

Ich würde eine Excel-Tabelle exportieren, mit der gearbeitet werden kann. Beispielcode dafür dürfte es hier im Forum geben.
Herzlich,
Tom
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Office 2010 Professional

Beitrag von Herbert »

xbaseklaus hat geschrieben:Hallo Herbert,
diese Vorgehensweise ist nicht schlecht , da ich damit wahrscheinlich auch im neuen Office 2013 keine Probleme mit der Einbindung haben werde.
Aber wie sieht das aus bei FELDERN die mit "..." oder , oder ; oder -_ oder ähnlichen Sonderzeichen belegt sind !?!
Egal. Du bestimmst das Trennzeichen. Ich habe das Ausrufezeichen gewählt. Alles vom einen zum nächsten Trennzeichen gehört zum jeweiligen Feldnamen.
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Office 2010 Professional

Beitrag von brandelh »

xbaseklaus hat geschrieben:Ja Roland ich nehme speziell erstellte DBF Dateien als Steuerdatei .... da meine Kunden öfters Sonderzeichen in den Feldern verwenden mit denen dann Office nicht klarkommt, da sie als Trennzeichen interpretiert werden ...

mfg Klaus
Die Sonderzeichen sollten dann kein Problem sein, wenn du die CSV Datei selbst baust und alle Textfelder mit " umschließt !
Dazu muss man nur wissen, dass ein " im Feld mit zwei "" escaped werden muss.
Ob das so geht oder über einen Zwischenschritt bin ich überfragt.

Wenn Excel installiert ist, ist der ActiveX Exceltransport wie von TOM angesprochen der einfachere Weg, dazu kann man sogar eines der mitgelieferten Beispiele nutzen (ich meine die zeigen DBF öffnen, XLS speichern ...) bei neueren Excelversionen muss man halt die Ecxel.CH neu machen (notfalls habe ich für 2007 und 2010 auch welche hier).
Gruß
Hubert
DelUser01

Re: Office 2010 Professional

Beitrag von DelUser01 »

Um alle Zeichen in einem Feld verwenden zu können müsstest Du vermutlich eine Excel-Tabelle als Steuerdatei verwenden. Und auch dort gibt es irgendwelche Probleme und die Excel-Tabelle muss in Word importiert werden (lt. MS).
Mit einer Zeichenkombination als Trenner müsste das klappen, aber ob Office eine Zeichenkombination als Trenner zulässt weiß ich nicht.
xbaseklaus
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 246
Registriert: Mi, 04. Jun 2014 12:01
Wohnort: FRANKEN

Re: Office 2010 Professional

Beitrag von xbaseklaus »

Danke erst mal an ALLLE , da ich an Office 2013 und folgende über kurz oder lang nicht vorbeikomme werden ich mit euren Vorschlägen in nächster Zeit testen und bei Problemen diesen Thread wieder nach oben holen .

mfg Klaus
xbaseklaus
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 246
Registriert: Mi, 04. Jun 2014 12:01
Wohnort: FRANKEN

Re: Office 2010 Professional

Beitrag von xbaseklaus »

Ach ja eine Frage hätte ich dann doch noch...

benutzt jemand die Freeware Lösung OPEN OFFICE , da ist die DBF Unterstützung soweit ich weiß nach wie vor gesichert ?

Wäre Open OFFICE eine mögliche Alternative ?

mfg Klaus
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9358
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: Office 2010 Professional

Beitrag von Tom »

Ich weiß nicht, ob OO Importfilter anbietet, die OEM-DBF unterstützen. Möglich isses. Aber Du konfrontierst die Anwender dann mit veränderten Instrumenten, um Dir selbst die Lösung einer kleinen Aufgabe zu vereinfachen. Außerdem hast Du auch in dieser Konstellation immer noch das Problem, dass eine andere Anwendung konkurrierend auf Tabellen zugreifen will, und das ist immer gefährlich. Ganz haarig wird es, wenn DBF-Tabellen in solchen Anwendungen geöffnet und verändert werden - dann geht alles den Bach runter.

Serienbriefe sind eine wunderbare Aufgabe für Reportgeneratoren. Die meisten guten Reportgeneratoren bieten von Haus aus Möglichkeiten, Office-Dokumente in Reports zu platzieren und zu verwenden, während die Anwendung die weiteren Inhalte steuern kann, bei der Datenauswahl hilft und möglicherweise sogar die Ergebnisse archiviert. Das ist zwar etwas mehr Arbeit, als den Kunden dabei zu helfen, einen Serienbrief an eine Tabelle zu hängen, aber Du würdest eine generelle Lösung liefern, die ohne Dein Eingreifen funktioniert.

Ansonsten, wie gesagt: Export (Excel, CSV, VCF). Am einfachsten in der Handhabung ist meistens Excel.
Herzlich,
Tom
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2934
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: Office 2010 Professional

Beitrag von Wolfgang Ciriack »

Ansonsten kannst du auch einfach die *.dbf nach *.xls kopieren und diese direkt ohne Umwandlung mit Excel öffnen.
Viele Grüße
Wolfgang
Antworten