Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Wie binde ich ein Recordset ein?

Mitglied: Cyberkey

Cyberkey (Level 1) - Jetzt verbinden

31.03.2010, aktualisiert 13:24 Uhr, 3980 Aufrufe, 7 Kommentare

Ich habe leider nur begrenztes VBA/VBS wissen..

Hallo,

auf der Seite: http://www.office-loesung.de/ftopic59453_0_0_asc.php

habe ich ein paar Dinge dazu gelesen. Aber verstehe nicht wie ich das in meine Projekt mit einbinden soll.

Ich habe einen Button in jeder Zeile eines Endlosformulars, dieser ist mit einem Code verbunden.

Bisher musste ich für jede Zeile diesen Button klicken damit einzeln für jede zeile der Code ausgeführt wird.
Es handelt sich um eine IP Liste... Jede IP hat einen Button "Ping" mit je Variablen die auf das jeweilige Feld IP verweisen.


Wie kann ich es anstellen das alle, ich sag mal "Buttons" hintereinander gedrückt werden... bzw. der Button Code je Zeile 1mal ausgeführt wird? (Hintereinander)

Habe gelesen das es mit dem im Link beschriebenen verfahren möglich sien soll.. habe nur leider kein verständnis dafür :/

Über Anregungen/Hilfe wär ich sehr Dankbar.
gruß Cyberkey



Im Anhang der Code und Bild:

01.
Private Sub IPall_Click()
02.
Dim strTarget, strPingResults, objShell, objExec
03.
On Error Resume Next
04.
strTarget = Me.IPall 'IP address or hostname
05.
Set objShell = CreateObject("WScript.Shell")
06.
Set objExec = objShell.Exec("ping -n 1 -w 5 " & strTarget)
07.
strPingResults = LCase(objExec.StdOut.ReadAll)
08.
If InStr(strPingResults, "Antwort von") > 0 Then
09.
    'MsgBox ("Geht")
10.
    'MsgBox "# " & strPingResults & " #", vbCritical, "Ergebnis"
11.
    'MsgBox "Ergebnis: " & strPingResults
12.

13.
    DoCmd.SetWarnings False
14.
    DoCmd.RunSQL "UPDATE Ip_adressen SET Status=1 WHERE IPall='" & strTarget & "'"
15.
    Me.Refresh
16.
Else
17.
    'MsgBox ("Geht nicht")
18.
    DoCmd.SetWarnings False
19.
    DoCmd.RunSQL "UPDATE Ip_adressen SET Status=0 WHERE IPall='" & strTarget & "'"
20.
    Me.Refresh
21.
End If
22.
DoCmd.SetWarnings True
23.
Me!Wake.SetFocus
24.
End Sub
a1ef32c5170f85a8b3c96d93455c8f5e - Klicke auf das Bild, um es zu vergrößern
Mitglied: 76109
31.03.2010 um 15:31 Uhr
Hallo Cyberkey!

Sinngemäß das Ganze in etwa so:
01.
Option Compare Text
02.

03.
Private Sub Button_Click()
04.
    Dim RS As Object
05.
    
06.
    Set RS = Application.CurrentDb.OpenRecordset("Select * From [Ip_adressen]")
07.
    
08.
    With RS
09.
        Do Until .EOF
10.
            If Not IsNull(.Fields("IPall")) Then
11.
                .Edit
12.
                .Fields("Status") = GetPingStatus(.Fields("IPall").Value)
13.
                .Update
14.
            End If
15.
           .MoveNext
16.
        Loop
17.
    End With
18.
    
19.
    Set RS = Nothing
20.

21.
   'Me.Refresh 
22.
End Sub
23.

24.
Private Function GetPingStatus(ByRef IP) As Long
25.
    Dim objShell As Object, objExec As Object, Result As String
26.
    
27.
    On Error Resume Next
28.
    
29.
    Set objShell = CreateObject("WScript.Shell")
30.
    Set objExec = objShell.Exec("ping -n 1 -w 5 " & IP)
31.
    
32.
    Do Until objExec.Status:  Loop  'Warten
33.
   
34.
    Result = objExec.StdOut.ReadAll
35.
    
36.
    If InStr(Result, "Antwort von") > 0 Then GetPingStatus = 1
37.
End Function
Gruß Dieter

[edit] Codezeile 32 hinzugefügt, warten bis Ping ausgeführt wurde [/edit]
Bitte warten ..
Mitglied: Cyberkey
01.04.2010 um 09:12 Uhr
Wunderbar !! ^^
Danke Dieter !
läuft 1a ;)
Bitte warten ..
Mitglied: 76109
01.04.2010 um 09:16 Uhr
Hallo Cyberkey!

Zitat von Cyberkey:
Wunderbar !! ^^
Danke Dieter !
läuft 1a ;)
Prima! Hast Du die Änderung in Codezeile 32 auch schon mit übernommen?

Gruß Dieter
Bitte warten ..
Mitglied: 76109
02.04.2010 um 09:48 Uhr
Hallo Cyberkey!

Im Gegensatz zu VBA-Shell gibt WScript-Shell ja einen Fehlercode zurück, wodurch sich das Ganze etwas optimieren ließe und die DOS-Fenster auch wegfallen.
01.
Private Const PingCmd = "ping -n 1 -w 5 "
02.

03.
Private Sub Button_Click()
04.
    Dim RS As Object, WshShell As Object
05.
    
06.
    Set WshShell = CreateObject("WScript.Shell")
07.

08.
    Set RS = Application.CurrentDb.OpenRecordset("Select * From [Ip_adressen]")
09.
    
10.
    With RS
11.
        Do Until .EOF
12.
            If Not IsNull(.Fields("IPall")) Then
13.
                .Edit
14.
                .Fields("Status") = WshShell.Run(PingCmd & .Fields("IPall").Value, 0, True) Xor 1
15.
                .Update
16.
            End If
17.
           .MoveNext
18.
        Loop
19.
    End With
20.
    
21.
    Set RS = Nothing:  Set WshShell = Nothing
22.
End Sub
Wobei sich der Rückgabewert 0=True und 1=False durch ein XOR in 1=True und 0=False umkehren läßt

Gruß Dieter
Bitte warten ..
Mitglied: Cyberkey
02.04.2010 um 17:06 Uhr
Hallo Dieter,
das stimmt!
Die Dos Fenster waren wirklich eine sehr unschöne Lösung!

Der Code sieht etwas kompliziert aus @ VBS CODE .. hab ich so nochnie gemacht.

Aber es ist eine gute Lösung!

Danke für die fleißige extra Arbeit^^
gruß Cyberkey

Werde das so bald wie möglich ins Projekt einfügen.
Bitte warten ..
Mitglied: Cyberkey
06.04.2010 um 11:53 Uhr
Hallo Dieter,
ich habe noch ein Problem erkannt.
Es wird nicht nach jeder Zeile aktualisiert sondern erst nach dem "Job". vll. bischen buggy.
Desweiteren sieht man nur unten "Berechnung läuft" das etwas passiert.. Ungedultige Nutzer könnten so X mal auf den Button klicken.
Werde den beim Job wohl Deaktivieren müssen.




Gruß Cyberkey

EDIT: das mit dem Button ist gelöst.. blos das ".Update" funktioniert nicht so richtig
Bitte warten ..
Mitglied: 76109
06.04.2010 um 15:19 Uhr
Hallo Cyberkey!

Zitat von Cyberkey:
EDIT: das mit dem Button ist gelöst.. blos das ".Update" funktioniert nicht so richtig
Das Update sollte schon funktionieren. Ansonsten fällt mir leider nichts dazu ein
Eventuell das Me.Refesh irgendwie mit einfügen?

Gruß Dieter
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
MS Access - DAO Recordset Methode
Frage von jojo0411Microsoft Office2 Kommentare

Hallo Leute, Ich habe in einer Access Datenbank 3 Tabellen und eine Abfrage. Tabelle tbl_invoice enthält Rechnungsköpfe Tabele tbl_invoiceline ...

RedHat, CentOS, Fedora
DNS Resolver mit BIND
Frage von winlinRedHat, CentOS, Fedora4 Kommentare

Hallo, benötige einen DNS Resolver (RHEL7) der die internen Requests nach aussen weiterleitet. Es besteht eine DC/AD DNS Infrastruktur ...

DNS
Bind oder Unbound NSD?
Frage von vince6e74DNS6 Kommentare

Hallo, in einem Netzwerk würde ich gerne einen autoritativen DNS-Server installieren. Ich schwanke momentan zwischen Bind und Unbound/NSD. Welchen ...

VB for Applications

VBA Excel Recordset - Abfrage auf SQL-Server

gelöst Frage von AximandVB for Applications4 Kommentare

Hallo, ich habe ein neuerliches Problem. Mitarbeiter sollen in einem Excel-Sheet die Artikelnummern ihrer benötigten Produkte runterschreiben. Ich ermittle ...

Neue Wissensbeiträge
Windows 7
Updategängelung auf Windows 10, die zweite
Information von Penny.Cilin vor 20 StundenWindows 7

Hallo, da Windows 7 im kommenden Jahr nicht mehr supportet wird, werden Nutzer von Window 7 home premium wieder ...

Internet
EU-Urheberrechtsreform: Zusammenfassung
Information von Frank vor 3 TagenInternet1 Kommentar

Auf golem.de gibt es eine Analyse von Friedhelm Greis, der das Thema EU-Urheberrechtsreform gut und strukturiert zusammenfasst. Zwar haben ...

Microsoft Office

Office365 Schwachstellen bei Sicherheit und Datenschutz

Information von Penny.Cilin vor 4 TagenMicrosoft Office7 Kommentare

Auf Heise+ gibt es einen Artikel bzgl. Office365 Schwachstellen. Das ist noch ein Grund mehr seine Daten nicht in ...

Sicherheit
Schwachstellen in VPN Clients
Tipp von transocean vor 6 TagenSicherheit2 Kommentare

Moin, es gibt Sicherheitslücken bei VPN Clients namhafter Hersteller, wie man hier lesen kann. Gruß Uwe

Heiß diskutierte Inhalte
Virtualisierung
Unix System virtualisieren
Frage von BananenmeisterVirtualisierung10 Kommentare

Hallo Zusammen, Ich möchte gerne eine Virtualisierungs-Software auf meinem kleinen ML Server installieren um einige Unix Systeme zu virtualisieren. ...

LAN, WAN, Wireless
Lancom und VLANs
Frage von TimmheLAN, WAN, Wireless10 Kommentare

Hallo an alle ich habe momentan ein sehr merkwürdiges problem bei dem ich nicht mehr weiter komme und hoffe ...

Hyper-V
Chaosbeseitigung in Domainlandschaft
Frage von Rolf935Hyper-V10 Kommentare

Hallo zusammen, ich hätte gerne mal ein paar praktische Tipps oder Hinweise. Derzeit haben wir einen NAS als Fileserver ...

Notebook & Zubehör
Hardware defekt ?
Frage von mausemuckelNotebook & Zubehör9 Kommentare

Hallo und ein schönes Osterfest an alle. Ich benötige mal euer Schwarm wissen. Ich habe hier ein Notebook Lenovo ...