Avatar billede motek Nybegynder
20. november 2003 - 15:31 Der er 7 kommentarer og
2 løsninger

Insætte direkte i tabel

Hej.

Jeg har en VBA code som viser PC-navnet
(til brug i netværk).

Hvordan indsætter jeg PC-navnet(PCIdent)
direkte i en tabel(User), uden
brug af en formular eller
åbning af tabellen?
Avatar billede mugs Novice
20. november 2003 - 15:42 #1
Hvor er VBA koden placeret?
20. november 2003 - 15:42 #2
Docmd.Setwarnings false
docmd.RunSQL "Update User Set PCIdent = '" & Me![PC-navn] & "' Where UserID = " & Me!UserID
Docmd.SetWarnings True
20. november 2003 - 15:43 #3
Dette fungere hvis koden kaldes fra formularen og Me!UserID er primærnøgle i User-tabellen
20. november 2003 - 15:44 #4
Hvis koden ikke kaldes fra en formular, må du erstatte Me![PC-navn] og Me!UserID med de respektive værdier
Avatar billede motek Nybegynder
20. november 2003 - 15:57 #5
Jeg er ikke helt med.

koden er placeret i en function:

Private Declare Function apiGetComputerName Lib "kernel32" Alias _
    "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Function PCIdent() As String

Dim lngLen As Long, lngX As Long
Dim strCompName As String
    lngLen = 16
    strCompName = String$(lngLen, 0)
    lngX = apiGetComputerName(strCompName, lngLen)
    If lngX <> 0 Then
        PCIdent = Left$(strCompName, lngLen)
    Else
        PCIdent = ""
    End If
End Function
Avatar billede terry Ekspert
23. november 2003 - 13:39 #6
Function PCIdent() As String

Dim lngLen As Long, lngX As Long
Dim strCompName As String
    lngLen = 16
    strCompName = String$(lngLen, 0)
    lngX = apiGetComputerName(strCompName, lngLen)
    If lngX <> 0 Then
        PCIdent = Left$(strCompName, lngLen)
    Else
        PCIdent = ""
    End If

Docmd.Setwarnings false
docmd.RunSQL "Update User Set PCIdent = '" & PCIdent & "'"
Docmd.SetWarnings True

End Function
Avatar billede terry Ekspert
23. november 2003 - 13:40 #7
This is maybe more corrrect

Function PCIdent() As String

Dim lngLen As Long, lngX As Long
Dim strCompName As String
    lngLen = 16
    strCompName = String$(lngLen, 0)
    lngX = apiGetComputerName(strCompName, lngLen)
    If lngX <> 0 Then
        PCIdent = Left$(strCompName, lngLen)

Docmd.Setwarnings false
docmd.RunSQL "Update User Set PCIdent = '" & PCIdent & "'"
Docmd.SetWarnings True

    Else
        PCIdent = ""
    End If

End Function
Avatar billede motek Nybegynder
24. november 2003 - 11:07 #8
Hej.

Ja, jeg kan godt se at jeg har klokket
lidt i det.

Så derfor deler I pointene.
Tak for hjælpen.
Avatar billede terry Ekspert
24. november 2003 - 11:28 #9
!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester