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

Eigene IP in Access ermitteln

Frage Microsoft Microsoft Office

Mitglied: chrislm

chrislm (Level 1) - Jetzt verbinden

13.09.2012 um 08:20 Uhr, 2596 Aufrufe, 2 Kommentare

Hallo.
Ich möchte gerne den Zugriff auf eine Datenbank mitloggen wer welchen Eintrag gemacht hat. Nun habe ich ein Script gefunden welches auch soweit funktioniert. Nur kann ich im Ausdrucksgenerator nicht finden und auch Manuell das script ausführen. Es läuft aber im Visual Basic Editor. Ich lasse mir die IP in der Msgbox anzeigen um zu sehen ob es auch funktioniert. Das ganze später mal in eine Spalte zu übergeben ist kein problem.

01.
Option Compare Database 
02.
Option Explicit 
03.
 
04.
'IP-Adressen ermitteln 
05.
Private Declare Function GetAdaptersInfo Lib "iphlpapi.dll" (pTcpTable As Any, pdwSize As Long) As Long 
06.
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDest As Any, pSource As Any, ByVal dwLength As Long) 
07.
 
08.
Private Const MAX_ADAPTER_NAME_LENGTH         As Long = 256 
09.
Private Const MAX_ADAPTER_DESCRIPTION_LENGTH  As Long = 128 
10.
Private Const MAX_ADAPTER_ADDRESS_LENGTH      As Long = 8 
11.
 
12.
Private Type IP_ADDRESS_STRING 
13.
    ipAddr(0 To 15)  As Byte 
14.
End Type 
15.
 
16.
Private Type IP_MASK_STRING 
17.
    IpMask(0 To 15)  As Byte 
18.
End Type 
19.
 
20.
Private Type IP_ADDR_STRING 
21.
    dwNext     As Long 
22.
    ipaddress  As IP_ADDRESS_STRING 
23.
    IpMask     As IP_MASK_STRING 
24.
    dwContext  As Long 
25.
End Type 
26.
 
27.
Private Type IP_ADAPTER_INFO 
28.
  dwNext                As Long 
29.
  ComboIndex            As Long 
30.
  sAdapterName(0 To (MAX_ADAPTER_NAME_LENGTH + 3))        As Byte 
31.
  sDescription(0 To (MAX_ADAPTER_DESCRIPTION_LENGTH + 3)) As Byte 
32.
  dwAddressLength       As Long 
33.
  sIPAddress(0 To (MAX_ADAPTER_ADDRESS_LENGTH - 1))       As Byte 
34.
  dwIndex               As Long 
35.
  uType                 As Long 
36.
  uDhcpEnabled          As Long 
37.
  CurrentIpAddress      As Long 
38.
  IpAddressList         As IP_ADDR_STRING 
39.
  GatewayList           As IP_ADDR_STRING 
40.
  DhcpServer            As IP_ADDR_STRING 
41.
  bHaveWins             As Long 
42.
  PrimaryWinsServer     As IP_ADDR_STRING 
43.
  SecondaryWinsServer   As IP_ADDR_STRING 
44.
  LeaseObtained         As Long 
45.
  LeaseExpires          As Long 
46.
End Type 
47.
 
48.
Private Function iperkennung() As String 
49.
On Error Resume Next 
50.
'für API-Aufrufe 
51.
Dim cbRequired  As Long 
52.
Dim buff()      As Byte 
53.
Dim Adapter     As IP_ADAPTER_INFO 
54.
Dim AdapterStr  As IP_ADDR_STRING 
55.
'allgemeine Variablen 
56.
Dim ptr1        As Long 
57.
Dim sIPAddr     As String 
58.
Dim sAllAddr    As String 
59.
    
60.
Call GetAdaptersInfo(ByVal 0&, cbRequired) 
61.
If cbRequired > 0 Then 
62.
    ReDim buff(0 To cbRequired - 1) As Byte 
63.
    If GetAdaptersInfo(buff(0), cbRequired) = 0 Then 
64.
        'Zeiger (Pointer) zu den gespeicherten Daten (buff) ermitteln 
65.
        ptr1 = VarPtr(buff(0)) 
66.
        'ptr1 ist 0 wenn keine weiteren Adapter vorhanden sind 
67.
        Do While (ptr1 <> 0) 
68.
            'aktuellen Zeiger auf Datenstrucktur (Adapter) zuweisen 
69.
            CopyMemory Adapter, ByVal ptr1, LenB(Adapter) 
70.
            With Adapter 
71.
                'IP-Adresse des adapters auslesen 
72.
                sIPAddr = TrimNull(StrConv(.IpAddressList.ipaddress.ipAddr, vbUnicode)) 
73.
                'und Name des Adapters durch das Ascii-Zeichen 1 getrennt, anfügen 
74.
                sAllAddr = sAllAddr & sIPAddr & Chr(1) & TrimNull(StrConv(.sDescription, vbUnicode)) & vbCrLf 
75.
                'Poiner auf nächsten Adapter setzen 
76.
                ptr1 = .dwNext 
77.
            End With 
78.
        Loop 
79.
    End If 
80.
End If 
81.
MsgBox sIPAddr 
82.
 
83.
'letzes vbcrlf entfernen, wenn Adapter gefunden wurden 
84.
If Len(sAllAddr) > 0 Then sAllAddr = Left(sAllAddr, Len(sAllAddr) - 2) 
85.
'und Liste der Adapter mit ihren IP-Adressen ausgeben 
86.
iperkennung = sAllAddr 
87.
 
88.
End Function 
89.
 
90.
 
91.
Private Function TrimNull(ByVal str As String) As String 
92.
On Error Resume Next 
93.
 
94.
TrimNull = Trim(Left(str, InStr(str, Chr(0)) - 1)) 
95.
End Function 
96.
 
97.
 
98.
Private Sub cmdRefresh_Click() 
99.
'IP-Adressen incl. Adapter ermitteln 
100.
'und das Ascii-Zeichen 1 durch das Trennzeichen " / " ersetzen 
101.
txtIPs.Text = Replace(iperkennung, Chr(1), " / ") 
102.
End Sub 
103.
 
104.
 
105.
Private Sub Form_Load() 
106.
'Anzeige aktualisieren 
107.
Call cmdRefresh_Click 
108.
End Sub 
109.
 
110.
End Function 
111.
 
Mitglied: napperman
13.09.2012 um 09:19 Uhr
Moin!
Welche Access Version denn?
Ab 2010 gibt es Datenbankmakros, die z.B. eine Aktion bei Änderung ermöglichen.
Da würde man dann diese Funktion einbauen.
Bitte warten ..
Mitglied: chrislm
13.09.2012 um 09:50 Uhr
Es muss leider auch unter Access 2000 funktionieren.
Ich habe mir mittlerweile was überlegt, ist vielleicht nicht die engliche Art aber es geht so:
01.
Public Function localip() 
02.
Call iperkennung 
03.
 
04.
 
05.
End Function
die Function localip zeigt er mir an und dann gehe ich einfach hin und rufe die iperkennung auf.
über
01.
Forms![Formularname]![Feld] = sIPAddr
lasse ich die IP nun in die Datenbank schreiben. Das Feld habe ich versteckt, es sieht keiner.. Wenn jemand irgendwo in ein Feld geht, lasse ich das Modul arbeiten und die neue IP direkt eintragen.
Bitte warten ..
Ähnliche Inhalte
DNS
Anhand einer IP den Hostnamen ermitteln?
gelöst Frage von M.MarzDNS11 Kommentare

Gibt es bei Windows onboard mittel, wie man anhand einer ip den hostnamen ermittelt. mit der cmd mit ping ...

Monitoring
Quell und Ziel IP von einem Netzwerkmitschnitt ermitteln
gelöst Frage von starfoxMCMonitoring10 Kommentare

Hi, wie kann ich eine Source und Destination IP in einem Netzwerkmitschnitt ermitteln ? Beispiel 0000: 2A 02 20 ...

LAN, WAN, Wireless
Switch mit eigener IP Range
gelöst Frage von Heinz189LAN, WAN, Wireless8 Kommentare

Hallo zusammen, ich habe ein wenig Schwierigkeiten mit dem Aufbau eines Netzwerks und würde mich freuen, wenn Ihr mir ...

KVM
KVM- VM eigene IP Adresse
gelöst Frage von fundave3KVM8 Kommentare

Nabend zusammen, auf der Arbeit habe ich im Rahmen eines Projektes ein Server gestellt bekommen. Mein Plan : auf ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 1 TagWindows 106 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 2 TagenSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 2 TagenInternet5 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 2 TagenDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
Batch & Shell
Kann man mit einer .txt Datei eine .bat Datei öffnen?
gelöst Frage von HelloWorldBatch & Shell20 Kommentare

Wie schon im Titel beschrieben würde ich gerne durch einfaches klicken auf eine Text oder Word Datei eine Batch ...

Router & Routing
OpenWRT bzw. L.E.D.E auf Buffalo WZR-HP-AG300H - update
gelöst Frage von EpigeneseRouter & Routing11 Kommentare

Guten Tag, ich habe auf einem Buffalo WZR-HP-AG300H die alternative Firmware vom L.E.D.E Projekt geflasht. Ich bin es von ...

LAN, WAN, Wireless
WLAN Reichweite erhöhen mit neuer Antenne
gelöst Frage von gdconsultLAN, WAN, Wireless8 Kommentare

Hallo, ich besitze einen TL-WN722N USB-WLAN Dongle mit einer richtigen Antenne. Ich frage mich jetzt ob man die Reichweite ...

Router & Routing
Fritzbox Gastnetz - exposed Host - zur Sophos IPTV
Frage von medikopterRouter & Routing7 Kommentare

Hallo zusammen, ich habe eine Frage bezüglich des Fritz box Gastzugangs an einer Sophos UTM Home. An liebsten wäre ...