[Access] Access 2007

Willi_Kaiser

Mitglied
Access 2007 Online Formular ausfüllen

Hallo liebe Tutorianer,

Ich habe wieder ein mal ein Problem.

Ausgangssituation:
Daten sollen aus eine Mysql Tabelle ausgelesen werden und auf einem Formular angezeigt werden.
10 Spalten in 2 Zeilen untereinander aufgereiht.
z.B.

Artikelnummer Größe
1212313131 90
1231231333 8
1212313131 90
1231231333 8
1212313131 90
1231231333 8
1212313131 90
1231231333 8
1212313131 90
1231231333 8

Diese Daten sollen dann in ein Onlineformular von H&M übertragen werden.
z.B. hier rein LINK

Das wärs dann.


Was ich bisher geschaft habe:
Die Daten der Mysql Tabelle werden per Abfrage in die Textfelder eingetragen und der IE öffnen das Formular.
Doch das mit dem automatisch ausfüllen de Formular scheitert. Ich schreibe mal den Quelltext hier rein.



Code:
Private Sub Befehl167_Click()
Dim MeinIE
Dim READYSTATE_COMPLETE
READYSTATE_COMPLETE = 4
Set MeinIE = CreateObject("InternetExplorer.Application")

Do While MeinIE.Busy
Loop

MeinIE.Visible = 1
MeinIE.Navigate "http://shop.hm.com/de/orderform"
Do While MeinIE.ReadyState <> 4
Loop
'Set oDoc = MeinIE.Document

Set MeinIE = CreateObject("InternetExplorer.Application")
 'On Error GoTo ErrHandler




 With MeinIE.Document.Form()
 MeinIE.Document.Forms(0).elements("itemnumberprefix").Value = "xyz"

   .elements("Artikelnummer").Value = "34"
   .elements("Groesse").Value = "12"
    
     .Submit

    
    End With
   Exit Sub
    
ErrHandler:
  MsgBox "Es ist ein Fehler aufgetreten." & vbCrLf & _
    "Evtl. existiert das angegebene Formular oder eines der " & _
    "angegebenen Eelemente nicht.", vbExclamation

    
End Sub


Da kommt dann folgender Fehler:
"Die Methode 'Document' für das Objekt 'IWebBrowser2' ist fehlgeschlagen"

Oder wenn ich Dokument auf Englisch schreibe kommt das hier:
"Objekt unterstützt diese Eigenschaft oder Methode nicht"


Den Inhalt den ich hier poste habe ich selber aus einem Tutorial aber irgendwie funktioniert das nicht und mir reicht es nciht an Erfahrung das selber zu lösen.

Ich bitte nun um Hilfe oder Tipps von euch


Liebe Grüße
Willi
 
Zuletzt bearbeitet:
Um ehrlich zu sein habe ich keine Ahnung woran es liegt. Was mir beim Lesen des Codes allerdings aufgefallen ist, ist das du folgende Anweisung doppelt hast:

Code:
Set MeinIE = CreateObject("InternetExplorer.Application")

Muss das so sein oder kann das der Fehler sein?
 
Ne leider nicht, wenn ich das jetzt rausnehme, dann zeigt er mir immer noch den "Objekt unterstützt diese Eigenschaft oder Methode nicht"Fehler und verweist dann auf "With MeinIE.Dokument.Form()"
 
Ha dann zum Schluss doch funktioniert :)
Hier mal den Quelltext mit kleinen Erklärungen:

Visual Basic:
Dim MeinIE
Dim READYSTATE_COMPLETE
READYSTATE_COMPLETE = 4
Set MeinIE = CreateObject("InternetExplorer.Application")
Dim cnn As ADODB.Connection
Set cnn = CurrentProject.Connection
Dim rec As ADODB.Recordset
Set rec = New ADODB.Recordset
Do While MeinIE.Busy
Loop

MeinIE.Visible = 1
MeinIE.Navigate "http://shop.hm.com/de/orderform"
Do While MeinIE.ReadyState <> 4
Loop
'Set oDoc = MeinIE.Document

'Set MeinIE = CreateObject("InternetExplorer.Application")
 'On Error GoTo ErrHandler


 MeinIE.Document.Forms(0).elements("itemnumberprefix0").Value = Text197
 MeinIE.Document.Forms(0).elements("itemnumbersuffix0").Value = Text179
 MeinIE.Document.Forms(0).elements("sizes0").Value = Text180

' z.B Text180 steht für das Textfeld desen Inhalt Kopiert werden soll
' "itemnumberprefix0" steht für den Namen des Feldes in das der Inhalt eingetragen wird.

Ich hoffe es kann jemand gebrauchen
 
Zuletzt bearbeitet von einem Moderator:
Ich hätte mal wieder eine Frage, wie würde das ganze mit z.B. Firefox funktionieren, was müsste ich dafür tun ? ISt es überhaupt möglich ?
 
So ich habe mir die Seite angeguckt und mit bestem Wissen versucht alle so umzusetzen, wie es dort beschrieben wurde.
Es klappt aber einfach nicht er zeigt mir immer wieder das ein Fehler mit den Activex objekten entstehe oder sowas in der Art.
Ich werde mal die Tage ein paar Screens mit rein posten.
Vielleicht hat ja mal jemand sowas ähnliches gehabt und es geschaft mit Firefox zu lösen.

Mit freundlichen Grüßen
Willi
 
Ich habe jetzt ein wenig rum probiert und habe es mit dem:
Dim b As Object
Set b = CreateObject("WScript.Shell")
b.Run ("firefox.exe http://www.hm.com/de/quickorder")
geschafft, dass er mir ein Firefox Fenster mit der richtigen Adresse öffnet.
Jetzt müsste ich noch die Eigenschaften der Textfelder im online Formular ansprechen können.
Vorher ging das ja mit z.B.
MeinIe.document.Forms(0).elements("rows[" & Nmr & "].articleNumber").Value = Artikelnummer

Wenn ich das auf die VAriable b beziehe geht es aber nicht, hat jemand eine Idee ?
b.document.Forms(0).elements("rows[" & Nmr & "].articleNumber").Value = Artikelnummer
Dann kommt der Fehler " Objekt unterstützt diese Eigenschaft oder Methode nicht"

Ich freue mich auf eure Hilfe.
 
Hier habe ich einen Link, da wir einiges erklärt :
LINK

Doch das entscheidende fehlt, da wo es darum geht die Textfelder über document.forms() anzusprechen.
 

Neue Beiträge

Zurück