Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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, 2564 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 ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
KVM
gelöst Virt MAnager VM eigene IP (4)

Frage von denndsd zum Thema KVM ...

KVM
gelöst KVM- VM eigene IP Adresse (8)

Frage von denndsd zum Thema KVM ...

DNS
gelöst Anhand einer IP den Hostnamen ermitteln? (11)

Frage von M.Marz zum Thema DNS ...

Microsoft Office
gelöst ACCESS Prüfen ob IP Adresse in IP Range vorhanden (6)

Frage von thomas1972 zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (13)

Frage von Motte990 zum Thema Microsoft Office ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...