Autor Thema: Mit Search-Methode aus Excel importieren  (Gelesen 3222 mal)

Offline Spalter

  • Aktives Mitglied
  • ***
  • Beiträge: 109
  • Mit der Lizenz zum Löschen!!!
Mit Search-Methode aus Excel importieren
« am: 22.11.07 - 16:25:14 »
Hallo zusammen,

kann man mit com aus Excel heraus die Search-Methode anwenden.

Bin bisher alle Docs der Notes DB durchgelaufen und habe über eine if-Abfrage die betreffenden Docs selektiert.

Möchte jetzt aber die Docs per Search-Methode ziehen. Dabei tritt in VBA das Problem auf, daß die @-Funktionen in der Searchformula nicht interpretiert werden können.

Was mache ich falsch oder funzt das nicht?

Bin für jede Antwort dankbar

Gruß
Spalter

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re: Mit Search-Methode aus Excel importieren
« Antwort #1 am: 22.11.07 - 16:32:47 »
Kommt eine Fehlermeldung? Was für eine Suchformel hast du? Ich glaube zumindest, dass search auch per COM funken müsste. Was passiert, wenn du die Suchformel in eine Ansicht als Auswahl packst?

Offline Spalter

  • Aktives Mitglied
  • ***
  • Beiträge: 109
  • Mit der Lizenz zum Löschen!!!
Re: Mit Search-Methode aus Excel importieren
« Antwort #2 am: 22.11.07 - 16:44:42 »
 :(

Hallo MadMetzger,

ich kann in der Notes-DB nichts ändern. Muß von extern ran, in dem Fall über Excel.

Der VBA-Editor meckert, wenn ich @-Funktinen in die Searchformel packe. Die brauche ich aber, um z.B. ein Zahlenfeld in einen String umzuwandeln.

Gruß
Spalter

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re: Mit Search-Methode aus Excel importieren
« Antwort #3 am: 22.11.07 - 16:57:14 »
Und was genau meckert er? Kann es vielleicht auch einfach nur mit irgendwelchen Anführungsstrichen-Problemen zusammenhängen?

Hm... Kannst du vielleicht eine private Ansicht in der DB anlegen zum Testen? Das würde die Sache zumindest erleichtern... Oder kommst du überhaupt nicht an die DB ran?

Du kannst mich übrigens auch mit Markus ansprechen...  ;) Und wie spricht man dich an?

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Mit Search-Methode aus Excel importieren
« Antwort #4 am: 22.11.07 - 16:58:55 »
1) Code!

2) Suchausdruck!
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Mit Search-Methode aus Excel importieren
« Antwort #5 am: 22.11.07 - 19:59:53 »
Ich glaube zumindest, dass search auch per COM funken müsste.

Das müsste nicht nur, dass funktioniert. Ich habe das selbst mal gemacht.

Wie Martin schon geschrieben hat, ohne Code (mit Suchformel) kommen wir nicht weiter.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re: Mit Search-Methode aus Excel importieren
« Antwort #6 am: 22.11.07 - 20:02:13 »
Das sehe ich genauso... Ich wollte nur nicht sagen, das geht, ohne selbst in die Doku geschaut haben zu können.

Offline Spalter

  • Aktives Mitglied
  • ***
  • Beiträge: 109
  • Mit der Lizenz zum Löschen!!!
Re: Mit Search-Methode aus Excel importieren
« Antwort #7 am: 23.11.07 - 10:08:17 »
 ???

Hallo zusammen,

hier ist mal der Code des Macros.

Wenn ich die Suchformel aktiviere, bekomme ich einen Syntax-Fehler. Weder die Klammer noch die @-Zeichen können interpretiert werden.


Bin für jede Antwort dankbar.

Gruß
Spalter

Public Sub Notes()
Dim Session As Object
Set Session = CreateObject("Notes.NotesSession")

Dim db As Object
Dim dc As Object
Dim dateTime As Object
Dim view As Object
Dim doc As Object
Dim x As Long
Dim Feld1 As Object
Dim Feld2 As Object
Dim Feld3 As Object
Dim Feld4 As Object
Dim Feld5 As Object
Dim Feld6 As Object
Dim rwindex As Integer
Dim colindex As Integer
Dim Formel As String
Dim Formel1 As String




'++++++++++++++++++++++


Dim Kinfo As String
Dim Kf As String



'geplant:
'*******************************************************
'searchFormula$ = {@Left(@Text(Feldx);2) = "99"}
'Set dc = Wdb.Search(searchFormula$, dateTime, 0)
'Set doc = dc.Getfirstdocument
'*******************************************************

'Bisher: durchlaufen aller Docs einer View


Set db = Session.GETDATABASE("server", "verzeichnis\db.NSF")
'Set db = Session.GETDATABASE("", "db.NSF")


Set view = db.GETVIEW("(AKTIV)")
Set doc = view.GETFIRSTDOCUMENT
x = 2
While Not (doc Is Nothing)



Set Feld1 = doc.GETFIRSTITEM("Feld1")
Kinfo = Right(Left(Feld1.Text, 5), 2)

Set Feld2 = doc.GETFIRSTITEM("Feld2")
Set Feld3 = doc.GETFIRSTITEM("Feld3")
Set Feld6 = doc.GETFIRSTITEM("Feld6")
Kf = Feld6.Text
Set Feld4 = doc.GETFIRSTITEM("Feld4")
Set Feld5 = doc.GETFIRSTITEM("Feld5")
If Kinfo = "99" And Kf = "11111111" Then
Cells(x, 1) = Feld1.Text
Cells(x, 2) = Feld3.Text
Cells(x, 3) = Feld4.Text
Cells(x, 4) = Feld6.Text
'Cells(x, 5) = Feld6.Text

If Feld5.Text = "" Then
Feld5.Text = 0
Cells(x, 7) = "kein Wert"
End If

Cells(x, 12) = Feld5.Text
Cells(x, 14) = Kinfo
x = x + 1
End If

Set doc = view.GETNEXTDOCUMENT(doc)
Wend

End Sub
   




Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Mit Search-Methode aus Excel importieren
« Antwort #8 am: 23.11.07 - 10:29:45 »
Versuch's mal so:

...
searchFormula$ = "@Left(@Text(Feldx);2) = ""99"""
Set dc = Wdb.Search(searchFormula$, dateTime, 0)
....

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re: Mit Search-Methode aus Excel importieren
« Antwort #9 am: 23.11.07 - 10:30:55 »
Das liegt wohl an der Art, wie Stringliterale in VBA aussehen müssen. Er sagt mir klar, dass die geschweifte Klammer fehl am Platze ist. Du musst das Literal in Anführungszeichen schreiben und die innerhalb des Literals verwendeten Anführungszeichen über deren Zeichencode einbinden.

Mit den Anführungszeichen geht wohl auch auf die einfachere Art von Axel...

Offline Spalter

  • Aktives Mitglied
  • ***
  • Beiträge: 109
  • Mit der Lizenz zum Löschen!!!
Re: Mit Search-Methode aus Excel importieren
« Antwort #10 am: 27.11.07 - 11:23:02 »
Versuch's mal so:

...
searchFormula$ = "@Left(@Text(Feldx);2) = ""99"""
Set dc = Wdb.Search(searchFormula$, dateTime, 0)
....

Axel


 :( Hallo Axel,

das mit den Anführungszeichen funzt so leider nicht. Da habe ich einen Syntax-Fehler.

Gruß
Spalter

Das liegt wohl an der Art, wie Stringliterale in VBA aussehen müssen. Er sagt mir klar, dass die geschweifte Klammer fehl am Platze ist. Du musst das Literal in Anführungszeichen schreiben und die innerhalb des Literals verwendeten Anführungszeichen über deren Zeichencode einbinden.

Mit den Anführungszeichen geht wohl auch auf die einfachere Art von Axel...

 ??? Hallo MadMetzger,

wie kann ich denn den Zeichencode der Anführungszeichen übergeben?

Bin für jede Antwort dankbar.

Gruß
Spalter




Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Mit Search-Methode aus Excel importieren
« Antwort #11 am: 27.11.07 - 11:38:55 »
Versuch's mal so:

...
searchFormula$ = "@Left(@Text(Feldx);2) = ""99"""
Set dc = Wdb.Search(searchFormula$, dateTime, 0)
....

Axel


 :( Hallo Axel,

das mit den Anführungszeichen funzt so leider nicht. Da habe ich einen Syntax-Fehler.


Ich hatte das bei mir getestet und bekam keinen Fehler. Wie sieht denn deine Formel aus?

Den Zeichencode für die Anführungszeichen übergibst du mit Chr$(34).

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Spalter

  • Aktives Mitglied
  • ***
  • Beiträge: 109
  • Mit der Lizenz zum Löschen!!!
Re: Mit Search-Methode aus Excel importieren
« Antwort #12 am: 27.11.07 - 17:29:50 »
 ::)

Sorry Axel,

funzt bei mir natürlich auch. Hatte die doppelten Anführungszeichen nicht erkannt.

Gruß und schönen Abend
Spalter

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz