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 In Access mit VBA ein Programm aufrufen und DB-Eintrag als Parameter eintragen

Mitglied: pernox

pernox (Level 1) - Jetzt verbinden

13.11.2007, aktualisiert 14.11.2007, 16780 Aufrufe, 2 Kommentare

Liebe Administrator.de-Gemeinde,

ich möchste aus einer Access-Anwendung heraus ein Programm zur Mikro-Aufnahme starten.
Dieses Aufnahme-Programm (harddiskogg) hat eine grafische Oberfläche, ich möchte dem Benutzer diese aber ersparen, er soll in Access nur jeweils einen Button für Start und Stop zu sehen bekommen.

Das ist soweit noch kein Problem (außer dass das Programm leider nicht völlig ohne Oberfläche startet).

Im Moment sieht der Code für den Startbutton so aus:
stAppName = "C:\Program Files\hdogg\Harddisk.exe -record -filename test.mp3"
Call Shell(stAppName, 1)

Das Programm startet also sofort mit der Aufnahme, die dann in der Datei "test.mp3" gespeichert wird. Das funktioniert auch.

Mit dem Parameter "filename" möchte ich nun aber keinen festen Wert, sondern einen Wert aus einer Access-Tabelle auslesen und die Datei mit einer bestimmten Benutzer-Nummer versehen, also so etwas wie "63524762.mp3"
Fortlaufende Nummerierung (bietet das Programm an) bringt mir nichts.

Hat jemand einen Hinweis, ob das überhaupt möglich ist und wie ich es anstelle?

Vielen Dank
Pernox
Mitglied: RDiller
13.11.2007 um 17:02 Uhr
Hi Pernox,

ich nehme mal an, der User muß sich erst mal über eine Anmeldemaske in das Programm einloggen, so dass Du eine Usertabelle hast, z.B.:

Username UserID
Pernox 63524762


Über den Button START rufst Du dann die folgende Prozedur auf:
Den Usernamen kannst Du ja irgendwo auf deinem Formular Hinterlegen und übergeben.
i.e.

Public Sub Start_click()
Dim Start_prg
Start_prg = Start_Programm(me.username)
end sub

Public Function Start_Program(Username)
Dim rstemp As Recordset
Dim sqls, UserID, Path, Filename As String
Path = "C:\Records\"
'Schauen, ob der Username in der Tabelle existiert
sqls = "SELECT User.Username, User.UserID " _
& " FROM [User] " _
& " WHERE User.Username='" & Username & "';"
Set rstemp = CurrentDb.OpenRecordset(sqls)
If rstemp.RecordCount = 0 Then ' Username ist nicht in dere Tabelle User
MsgBox "Username is nicht bekannt!", vbCritical, "Username Check"
Exit Sub
End If
'UserID auslesen
UserID = rstemp.Fields("UserID")
rstemp.Close 'Tabelle schließen
Set rstmp = Nothing ' Objekt entladen
Filename = UserID & ".mp3"

'Existiert die Datei schon?
FileExists = objFso.FileExists(Path & Filename)
If FileExists Then 'Z.B. mit einem Unterstrich und fortlaufender Nummer versehen; Natürlich schauen, ob die Datei schon existiert
For x = 1 To 999
Filename = UserID & "_" & x & ".mp3"
FileExists = objFso.FileExists(Path & Filename)
If FileExists Then
Exit For
End If
Next x
End If
'Dein Programm Aufrufen
stAppName = "C:\Program Files\hdogg\Harddisk.exe -record -filename " & Path & Filename
Call Shell(stAppName, 1)
End Function


Gruß

Ralf
Bitte warten ..
Mitglied: pernox
14.11.2007 um 17:55 Uhr
Hallo Ralf,

vielen vielen Dank. Es funktioniert.

Nun habe ich doch noch etwas VBA gelernt, wer hätte das gedacht!

Den Check, ob die Datei schon funktioniert, konnte ich weglassen. Das Aufnahme-Programm bietet das schon mit an.

Viele Grüße
Pernox
Bitte warten ..
Ähnliche Inhalte
VB for Applications

Per VBA oder Makro Nummerierung und Name aus DB eintragen

Frage von evolutionVB for Applications

Hallo, ich habe folgendes Anliegen. Ich suche eine Lösung um in Word und Excel-Dokumenten automatisch in der Fußzeile eine ...

Windows 7

Einträge

Frage von stonesteinWindows 717 Kommentare

Wieviele Berechtigungs Administratoren muß ich zulassen in Einträge wenn nur ein PC Administrator vorhanden ist ,jetzt stehen gerade 5x ...

Microsoft Office

Access Unterformular über Eintrag vom Kombinationsfeld öffnen

gelöst Frage von Luna01Microsoft Office3 Kommentare

Guten Abend! :-) Ich möchte gerne über ein ungebundenes Kombinationsfeld ein Unterformular auswählen können und dieses sollte sich dann ...

Windows Server

DNS Eintrag als dynamischen Eintrag hinterlegen

Frage von clonexWindows Server6 Kommentare

Hallo, ich habe auf dem DC einen DNS Aktiv. Auf diesem wird unsere Domain (ich nenne sie nun meine.de). ...

Neue Wissensbeiträge
Humor (lol)
(Part num your Hacked phone. +XX XXXXXX5200)
Erfahrungsbericht von Henere vor 5 StundenHumor (lol)

Mein Handy hat aber ne ganz andere Endnummer. Muss ich mir jetzt Sorgen machen ? :-) Vielleicht betrifft es ...

Exchange Server

Letztes Update für Exchange 2016 CU9 war in gewisser Weise destruktiv

Erfahrungsbericht von DerWoWusste vor 7 StundenExchange Server3 Kommentare

Kurzer Erfahrungsbericht zu Exchange2016-KB4340731-x64 Der Exchangeserver hat wie gewöhnlich versucht, es in der Nacht automatisch zu installieren - abgesehen ...

Erkennung und -Abwehr

Neue Sicherheitslücke Foreshadow (L1TF) gefährdet fast alle Intel-Prozessoren

Information von Frank vor 1 TagErkennung und -Abwehr3 Kommentare

Eine neue Sicherheitslücke, genannt Foreshadow (alias L1TF) wurde auf der Usenix Security 18 von einem Team internationaler Experten veröffentlicht. ...

Vmware
VMware Updates gegen L1 Lücke
Information von sabines vor 1 TagVmware

Für die Vmware Produkte vCenter Server, ESXi, Workstation und Fusion stehe Updates bereit um die L1 Lücke zu schließen. ...

Heiß diskutierte Inhalte
Windows Server
Domäne einsilbig mit nur einem Namen benannt - sowie AD und MX auf einer VM Kardinalsfehler?
Frage von TomTestWindows Server48 Kommentare

Hallo liebe Freunde gepflegter Probleme, seit kurzem soll ich eine Domäne verwalten die zuvor von einem IT-Dienstleister erstellt und ...

Microsoft
VPN Verbindung kann nicht aufgebaut werden
Frage von AlexderITlerMicrosoft35 Kommentare

Hallo, Ich möchte an einem unserer PCs in unserer Tochterfirma eine VPN zu unserem Netzwerk einrichten. Das schlägt allerdings ...

DNS
Gibt es eine Art DNS Proxy?
Frage von icepietDNS16 Kommentare

Hallo Nerds, Ich würde gerne folgendes machen: ts.domain.de:3389 soll auf 1.2.3.4:3389 auflösen ts2.domain.de:3389 soll auf 1.2.3.4:3390 auflösen Gibt es ...

Windows Server
Windows Server per Web auf Daten zugreifen und verwalten
Frage von matze2090Windows Server16 Kommentare

Hallo, ich würde gerne von außen auf meinem Windows Server zugreifen um auf meine Daten zu verwalten. Meine frage ...