Schrift
[thread]6152[/thread]

Call Aufruf von Access in Perl uebersetzen

Leser: 1


<< >> 9 Einträge, 1 Seite
havi
 2004-03-18 12:20
#81132 #81132
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
Hi Leute!

Ich moechte gerne eine Accessdatenbank mit Perl ansprechen.
Das alleine ist ja kein Problem.
Wenn ich eine Funktion eines Moduls direkt aufrufe mache ich das immer so:
Code: (dl )
1
2
3
4
5
6
7
8
#!/usr/bin/perl

use warnings;
use strict;

my $accessPfad = Win32::OLE->GetObject('PfadZuMeinerDatenbank\Datenbank.mde') or die;

my $funktion = $accessPfad->Eval(qq{Funktion("$Variable")});


Das Ergebnis der Datenbankfunktion habe ich dann in $funktion stehen.

Nun moechte ich aber ein Modul mit einem Call Aufruf ansprechen.
Dazu mache ich folgendes:
Code: (dl )
1
2
3
4
5
6
7
8
#!/usr/bin/perl

use warnings;
use strict;

my $accessPfad = Win32::OLE->GetObject('PfadZuMeinerDatenbank\Datenbank.mde') or die;

$accessPfad->Eval(qq{Call Modul("Tabelle", "Feld1", "Feld2")}); # funktioniert nicht


Kann mir da vielleicht jemand helfen?

Gruss\n\n

<!--EDIT|havi|1079605417-->
havi
 2004-03-18 13:21
#81133 #81133
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
Fehlermeldung:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
OLE exception from "MSAccess":

Microsoft Access kann den eingegeben Namen 'Call' nicht finden.@Sie haben
eventuell ein Steuerelement angegeben das sich nicht auf dem aktuellen
Objekt befand und f³r das Sie keinen Formular- oder Berichtskontext
angegeben haben.@Um auf den Wert eines Feldes oder Steuerelements zu
verweisen, das sich auf einem Formular oder Bericht befindet, m³ssen Sie vor
den Namen des Feldes bzw. Steuerelements den Namen einer Auflistung, meist
Formulare (Forms) oder Berichte (Reports), sowie den Namen des Formulars
oder Berichts setzen, zu dem das Feld bzw. Steuerelement geh÷rt.
Beispiel: Formulare![Artikel]![Lagerbestand] bzw.
Forms![Artikel]![Lagerbestand].@1@@1
esskar
 2004-03-18 13:55
#81134 #81134
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
klingt so, als ob es Call nicht gibt...
havi
 2004-03-18 14:02
#81135 #81135
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
Wo nicht gibt?
esskar
 2004-03-18 14:05
#81136 #81136
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=havi,18.03.2004, 13:02]Wo nicht gibt?[/quote]
na bei access...
havi
 2004-03-18 14:10
#81137 #81137
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
In Access gibt es Call, nur irgendwie kann ich es von Perl aus
nicht aufrufen.
Strat
 2004-03-18 18:21
#81138 #81138
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ich habe dafuer frueher immer Win32::ODBC verwendet (von http://www.roth.net/ )(da der Access-ODBC-Treiber eh nur ein zweischichtiger Treiber ist, ist eigentlich die Plattformabhaengigkeit des Moduls eher egal; aber heute wuerde ich vielleicht trotzdem DBI und DBD::ODBC verwenden), und es funktionierte alles sehr gut. Mit ADO habe ich da nicht so gute Erfahrungen gemacht, aber das ist schon einige Jahre her (war so 1998/99, und seitdem nicht mehr ausprobiert)
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
havi
 2004-03-19 08:11
#81139 #81139
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
Hast du vielleicht mal ein Beispiel wie ein Call-Aufruf funktioniert?

Gruss
havi
 2004-03-19 13:17
#81140 #81140
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
Ich habs jetzt geloest.

Ich habe mir ganz einfach eine weitere Funktion in Access
geschrieben, die die "Call-Funktion" aufruft...

Oft ist es ganz einfach!

Gruss
<< >> 9 Einträge, 1 Seite



View all threads created 2004-03-18 12:20.