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

In Access mit VBA ein Programm aufrufen und DB-Eintrag als Parameter eintragen

Frage Entwicklung VB for Applications

Mitglied: pernox

pernox (Level 1) - Jetzt verbinden

13.11.2007, aktualisiert 14.11.2007, 15641 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 ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Microsoft Office
Kreuztabelle Access + VBA Code (7)

Frage von Dr.Cornwallis zum Thema Microsoft Office ...

Batch & Shell
gelöst Powershell: CMD Kommando mit Parameter aufrufen (8)

Frage von bonnerjung zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...