Autor Thema: Lotus <- Navision  (Gelesen 8049 mal)

Offline tbrendel

  • Frischling
  • *
  • Beiträge: 19
Lotus <- Navision
« am: 08.08.06 - 14:17:48 »
Hat schon mal jemand per SQL Befehle aus einer Navision Datenbank
Infos geholt?...also per lotusscript und dem

Uselsx "*LSXODBC"

Habe da ein Problem, das ich zwar von Access aus eine SQL-Abfrage absetzen kann, die über zwei Tabellen mit einem "JOIN" abfragen kann..aber LOTUS NOTES eben nicht...
Hier habe ich mich bisher beholfen das ich zwei einzelne Abfragen gemacht habe.
Kennt das jemand?

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Lotus <- Navision
« Antwort #1 am: 08.08.06 - 18:40:40 »
Hilft Dir eventuell dieser Thread weiter?

Bernhard

Offline tbrendel

  • Frischling
  • *
  • Beiträge: 19
Re: Lotus <- Navision
« Antwort #2 am: 09.08.06 - 08:57:53 »
Nein, leider nicht...

ich bin folgendermaßen vorgegangen:

Ich habe in Access eine abfrage über ODBC gemacht. Dann habe ich mir die Syntax angeschaut im SQL-Editor und diese Abfrage dann in Lotus Notes übernommen.

Dabei habe ich erstmal so festgestellt das von Lotus Notes
es mir nicht möglich war zwei Tabellen gleichzeitig in einer abfrage zu erreichen. Aber vielleicht benötigt "Lotus Notes SQL" ja dabei eine
spezielle Syntax?????

Oder der "Lotus Notes SQL-Treiber" hat damit probleme????

Navision -> Access geht jedenfalls (Hilft mir aber nicht weiter)

Ich stocherer da ein wenig im Dunklen herum weil ich nicht den Finger auf die Fehlerquelle legen kann

In Access hiess dieses SQL Statement

SELECT Jobplan.Job_No_, Ressource.No_
FROM Jobplan INNER JOIN REssource ON Jobplan.No_ = Ressource.No_


Habe also schon mit einem INNER JOIN arbeiten wollen

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Lotus <- Navision
« Antwort #3 am: 09.08.06 - 09:07:32 »
Jo, Notes SQL ist schwach auf der Brust. Aber das verwendest Du doch gar nicht, sondern einen ODBC-Treiber für Dein Navision-System. Und der sollte das eigentlich beherrschen ...
Leider habe ich derzeit keinen Zugang zu einem Navision-System, sonst hätte ich das hier mal nachgebaut. So stehe ich auch im Nebel ...

Bernhard

Offline tbrendel

  • Frischling
  • *
  • Beiträge: 19
Re: Lotus <- Navision
« Antwort #4 am: 09.08.06 - 10:16:15 »
ja klar verwende ich ODBC für den Zugriff....aber um dann auf daten zuzugreifen muss ich doch eine
"SQL" Anweisung schreiben.....(oder gehts auch anders??????????)

ich habe das mal hier in dem Code gemacht:

Schnipp-----------------------------------------------------------

   Dim con As New ODBCConnection
   Dim qry As New ODBCQuery
   Dim result As New ODBCResultSet
   Dim result2 As New ODBCResultSet
   Dim result3 As New ODBCResultSet
   Dim Session As New NotesSession
   Dim db As NotesDatabase
   Dim formular As New NotesDatabase("","Formulare.nsf")
   Dim collection As NotesDocumentCollection
   Dim doc, formulardoc, searchdoc As NotesDocument
   Dim firstName, lastName As String
   Dim nam As NotesName
   Dim view, ressourceview, projektview As NotesView
   
   Set db = session.CurrentDatabase
   Set collection = db.AllDocuments
   Set view = db.GetView("Ressourcen2")
   Set ressourceview = db.GetView("Ressourcen")
   Set projektview = db.GetView("Projekte")
   
     REM erstmal alle Dokumente löschen
   Call collection.RemoveAll(True)
   
   If Not con.ConnectTo("Navision") Then
      Messagebox "Could not connect to Navision",, _
      "Error connecting"
      Exit Sub
   End If
   Set qry.Connection = con
   Set result.Query = qry
   Set result2.Query = qry
   Set result3.Query = qry
   
   REM erstmal alle Projektköpfe löschen
   searchform$ = {FORM = "Projektkopf"}
   Set collection = db.Search(searchform$, Nothing, 0)
   Call collection.RemoveAll(True)
   
   qry.SQL = "SELECT Nr_,Beschreibung,geplantes_Startdatum, geplantes_Endedatum, Status, " &_
   "Rech__an_Deb__Nr_ , Name, Projektbuchungsgruppe, Startdatum, erwartetes_Enddatum, ""GeschaftschancePct""  " &_
   "FROM Projekt WHERE Projekt.Nr_ LIKE 'PN%' AND (Status = 'Auftrag' OR Status = 'Angebot')"
   
   result.Execute
   If result.IsResultSetAvailable Then


Schnapp------------------------------------------------------

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Lotus <- Navision
« Antwort #5 am: 09.08.06 - 10:29:34 »
Sorry, Missverständnis: "Notes SQL" ist ein eigener Treiber (zum Zugriff auf Notes-Daten per "SQL" oder was davon eben mit diesem Treiber funktioniert), und daher war ich verwundert, dass Du diesen Begriff in diesem Zusammenhang erwähnt hast.

Ich hoffe, wir haben hier jemanden, der gerade eine Situation wie die Deinige nachstellen kann (oder das Problem auf Anhieb sieht).

Bernhard

klaussal

  • Gast
Re: Lotus <- Navision
« Antwort #6 am: 09.08.06 - 10:34:56 »
Da kann auch nix bei rauskommen.

Sieh Dir mal im Debugger das Feld QRY.SQL an. Ich sehe da fast nur Unterstriche...

Code
SELECT Nr_,Beschreibung,geplantes_Startdatum, geplantes_Endedatum, Status, Rech__an_Deb__Nr_ , Name, Projektbuchungsgruppe, Startdatum, erwartetes_Enddatum, ""GeschaftschancePct""  FROM Projekt WHERE Projekt.Nr_ LIKE 'PN%' AND (Status = 'Auftr

Offline tbrendel

  • Frischling
  • *
  • Beiträge: 19
Re: Lotus <- Navision
« Antwort #7 am: 09.08.06 - 10:45:39 »
übrigens das was ich hier kopiert habe ist LAUFFÄHIGER Code..mir geht es rein um den zugriff wenn ich ZWEI tabellen benutzen will.......

Die UNterstriche sind leider dafür da weil Navision viele Felder hat die  mit einem Blank oder mit einem Punkt versehen sind (Also Nr., oder "geplantes Endedatum")....die wandelt der "treiber" entsprechend um...das muss also so sein.
Du könntest also die unterstriche ignorieren die zwingend notwendig sind.

klaussal

  • Gast
Re: Lotus <- Navision
« Antwort #8 am: 09.08.06 - 10:48:51 »
Ok.

Dann versuch doch mal einen gaaanz einfachen Select, ob der funzt. Und dann die Abfrage langsam aufbohren, bis es knallt. Dann siehst Du ja, voran es liegt.

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Lotus <- Navision
« Antwort #9 am: 09.08.06 - 10:51:31 »
Feldnamen mit Unterstrichen sind aber in manchen Datenbanken erlaubt Klaus.

Aber ich hab eine andere Vermutung. Du redest davon das du das SQL Konstrukt mit Access ausprobiert hast und danach von einer Navision Datenbank. Du weist schon das die unterschiedlichen Relationalen Datenbanken was SQL angeht teilweise unterschiedliche Stände und SQL Dialekte haben und das man Access absolut nicht als Beispiel für ein gültiges SQL Statement hernehmen kann und das der ODBC Connect da wiederum eine eigene Abart davon darstellen kann.

Ich würd mich da rantasten. Fang doc erst einmal mit einem simplen "Select * From Projekt" an.


Wie wärs dann mal wenn du den nicht funktionierenden Teil deines Codes posten würdest. Es kann ja dann eigentlich nur an deinem SELECT Statement liegen. Denn der INNER JOIN funktioniert.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

klaussal

  • Gast
Re: Lotus <- Navision
« Antwort #10 am: 09.08.06 - 10:57:39 »
@Thomas,

ich vermute auch, dass es an dem Select liegt. Deshalb mein Vorschlag, klein anfangen + dann langsam aufbohren.

Offline tbrendel

  • Frischling
  • *
  • Beiträge: 19
Re: Lotus <- Navision
« Antwort #11 am: 09.08.06 - 11:09:22 »
das hatte ich ja gemacht......

dieses Select was ihr da seht FUNKTIONIERT...das ist ein einfaches select

sobald ich aber ein einfaches select mit einem INNER JOIN versuche habe ich als ergebnis
KEIN RESULTSET

habe also erstmal versucht


SELECT Jobplan.Job_No_, Ressource.No_ FROM Jobplan

da bekam ich ein resultset

nächster schritt

SELECT Jobplan.Job_No_, Ressource.No_ FROM Jobplan INNER JOIN REssource ON Jobplan.No_ = Ressource.No_

kein resultset!!!!!

dann ein versuch mit einem speziellem Errorhandler ergab immerhin folgende
Fehlermeldung

[Microsoft Corporation][Microsoft Business Solutions-Navision ODBC Driver] Unexpected extra token: JOIN    ????????? obwohl es von Access dieses join angenommen hatte....das versteh ich nciht
 

Offline tbrendel

  • Frischling
  • *
  • Beiträge: 19
Re: Lotus <- Navision
« Antwort #12 am: 09.08.06 - 11:21:56 »
meine vermutung ist eher das eine SPEZIELLE SYNTAX notwendig ist. Hat jemand andere
versuche mit einem anderen aufbau von INNER JOIN????

klaussal

  • Gast
Re: Lotus <- Navision
« Antwort #13 am: 09.08.06 - 11:47:31 »
Versuche mal diese Syntax:

SELECT * FROM Mitarbeiter INNER JOIN Projekte ON (Mitarbeiter.Nachname = Projekte.Nachname AND Mitarbeiter.Vorname = Projekte.Vorname)

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Lotus <- Navision
« Antwort #14 am: 09.08.06 - 12:25:48 »
Und wenn das nicht geht lass mal das INNER weg.
INNER Join ist nämlich als Join Typ der Standard Typ im ANSI Stil, wenn kein anderer Join Typ angegeben wird.

Nein das ist nicht auf meinem Mist gewachsen. Fachbuch lesen bildet  8)
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Lotus <- Navision
« Antwort #15 am: 09.08.06 - 12:37:49 »
Es kann auch sein das der Navision ODBC Driver da eine Macke hat. Zumindest wird hier darauf hingewiesen.

Und was dann das funktioniert von Acces aus angeht. Access ist ein MS Produkt, Navision ist ein Access Produkt. Noch Fragen ....
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Lotus <- Navision
« Antwort #16 am: 09.08.06 - 13:24:44 »
Navision ist kein Access sondern ein MS Produkt. Mann red ich einen Blödsinn.

Aber hier gibt es eine interessante Aussage zu dem Thema join und InnerJoin. Die behaupten nämlich das das nicht unterstützt wird.
Hier hat jemand ein ähnliches Problem von VB aus.
Such mal in Google nach
Unexpected extra token: JOIN
Und du dürftest ein paar Einträge dazu finden.

Kannst du einen anderen ODBC Treiber ausprobieren?
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline tbrendel

  • Frischling
  • *
  • Beiträge: 19
Re: Lotus <- Navision
« Antwort #17 am: 09.08.06 - 13:54:38 »
leider kann ich nur DIESEN einen ODBC treiber nehmen, weil es keinen anderen gibt......

und beide haben leider das gleiche Problem, aber keiner hat eine Lösung dafür gefunden!!!!

klaussal

  • Gast
Re: Lotus <- Navision
« Antwort #18 am: 09.08.06 - 14:24:35 »

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Lotus <- Navision
« Antwort #19 am: 09.08.06 - 14:29:09 »
Klaus, der ist aber ganz bestimmt nicht für Navision freigegeben worden. Und da wäre ich zumindest gaaaaaaanz vorsichtig - falls Navision sich von dem Treiber überhaupt etwas überbügeln lässt bzw. einen Zugriff gewährt.

Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz