Zjištění názvu počítače   zodpovězená otázka

VB6/VBA

Potřeboval bych poradit.

Pracuji s VB v MS Access. Potřeboval bych znát příkaz, který mi vrátí síťové jméno počítače. A také syntaxi příkazu. Dejme tomu, že se jméno počítače přiřadí nějaké proměnné. To by bylo asi nejlepší.

Díky.

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

Pokud máte Visual Basic verze 2005 nebo 2008, pak by mělo fungovat jednoduše toto:

Dim jmenoPocitace As String = My.Computer.Name 

nahlásit spamnahlásit spam 0 odpovědětodpovědět

V každém případě děkuji za radu.

Ale bohužel. Nejde přímo o Visual Basic.

Jde o databázi v MS Access, kde jsou procedůry psány v jakémsi Access Basic.

Já Visual Basic, jako takový neznám. K tomuto jsem se dostal v podstatě tím, že jsem odkoukal pár instrukcí, které mi kdysi vytvářel makrorekordér v MS Excel. Ona je to jakási odnož Visual Basicu, ale vypadá to velice podobně.

Ten řádek, tak jak jste mi jej napsal mi to vůbec nevezme.

Dovolí mi to asi toto:

Private Sub Prikaz391_Click()
Dim jmenoPocitace As String
jmenoPocitace = Me.Computer.Name
MsgBox (jmenoPocitace)
End Sub

Ovšem při kompilaci kódu se to stejně zasekne na "Computer".

Pokud by Vás ještě něco napadlo, buud vděčný za každou radu....

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Pak jste měl dotaz zařadit do sekce Visual Basic 6 a jiné verze a případně uvést, že jde o Visual Basic v Accessu. Tam to funguje trochu jinak.

A ještě jedna prosba - zkuste trochu přemýšlet, než příspěvek pošlete, myslíte si, že název tématu Poradí mi někdo prosím? přesně vystihuje to, na co se ptáte?

Jinak ve VBA by to snad mělo jít takhle:

Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpbuffer As String, nsize As Long) As Long

Function MachineName() As String
    Dim lRet As Long
    Dim lMaxLen As Long
    Static ssMachineName As String
    
    If Len(ssMachineName) = 0 Then
        lMaxLen = 100
        ssMachineName = String$(lMaxLen, vbNullChar)
        lRet = GetComputerName(ssMachineName, lMaxLen)
        ssMachineName = Left$(ssMachineName, lMaxLen)
    End If
    MachineName = ssMachineName
End Function

Pokud funkci MachineName zavoláte, měla by jméno počítače zjistit a vrátit.

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

Vidím, že jsem se obrátil na ty správné lidi.

Moc děkuji, protože tohle už opravdu funguje.

Omlouvám se za prvotní špatné umístění mého dotazu.

Na tomto fóru jsem byl poprvé. Ale teď to vypadá, že asi ne naposled.:-)

Ještě jednou díky.....

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback