Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Neueste Beiträge

#1
Access Programmierung / Re: Formular (keine Daten) als...
Letzter Beitrag von PhilS - Juni 20, 2025, 10:00:26
Zitat von: Doming am Juni 20, 2025, 08:05:03Sieht aus als würde es wie gewünscht laufen.
In deiner IstVorhanden-Prozedur könntest/solltest du noch auf den Typ des Objektes prüfen. Der Objektname allein ist nicht eindeutig.

Zitat von: Doming am Juni 20, 2025, 08:05:03Schön wäre es noch, wenn er mir nicht nur die Formulare importiert, sondern auch die Tabellenverknüpfungen.
Du kannst die knüpften Tabellen mittels DAO.Database.CreateTableDef erstellen. Die erforderlichen Informationen sollten in der MSysObjects-Tabelle vorhanden sein (siehe z.B. Connect, ForeignName).
#2
Access Programmierung / Re: Formular (keine Daten) als...
Letzter Beitrag von Doming - Juni 20, 2025, 09:55:44
Hallo Josef,

Deinen Post habe ich als Anregung genommen noch etwas weiter zu recherchieren und habe meinem Code noch eine weitere Prozedur hinzugefügt
Private Function HolTabelle(Tabelle As String) As Boolean
On Error GoTo Fehler
 Dim QuellDb As String

    Select Case Tabelle
        Case "tblTabelle1", "tblTabelle2": QuellDb = "C:\Daten\BackEnd1.accdb"
        Case "tblTabelle3":                QuellDb = "C:\Daten\BackEnd2.accdb"
    End Select
   
    DoCmd.TransferDatabase acLink, "Microsoft Access", QuellDb, acTable, Tabelle, Tabelle
   
Fehler:
    HolTabelle = Err = 0
    If Err > 0 Then Debug.Print "Fehler HolTabelle: " & Tabelle, Err.Number, Err.Description
End Function

Die Funktion scheint gegeben, ich bin zufrieden

Gruß
 Doming
#3
Access Programmierung / Re: Formular (keine Daten) als...
Letzter Beitrag von Josef P. - Juni 20, 2025, 08:47:20
Hallo!

ZitatSchön wäre es noch, wenn er mir nicht nur die Formulare importiert, sondern auch die Tabellenverknüpfungen.
Zuerst dachte ich, du willst wiederverwendbare Formulare bzw. Codemodule exportieren.
Wenn du aber bestehende Tabellenverknüpfungen auch anlegen willst, könnte das auch eine Versionsverwaltung werden.

Als Anregung ein Beispiel, wie so ein Vorhaben mit dem ImportWizard aussehen würde:
https://github.com/AccessCodeLib/AccessCodeLib/blob/master/usability/OptionManagerSetup.bas
Auszug:
'<codelib>
'  <file>usability/OptionManagerSetup.bas</file>
'  <use>usability/OptionManager.cls</use>
'  <ref><name>VBIDE</name><major>5</major><minor>3</minor><guid>{0002E157-0000-0000-C000-000000000046}</guid></ref>
'  <execute>OptionManagerSetup_SetupTable()</execute>
'  <execute>OptionManagerSetup_CreateHelperModule()</execute>
'  <execute>OptionManagerSetup_RemoveSelf()</execute>
'</codelib>
Über die execute-Blöcke werden Prozeduren ausgeführt, die z. B. in diesem Fall eine Tabelle statt einer Verknüpfung erstellen.

Gruß
Josef



#4
Access Programmierung / Re: Formular (keine Daten) als...
Letzter Beitrag von Doming - Juni 20, 2025, 08:05:03
Hallo,
folgenden Code habe ich mir zusammengebastelt:
Public Sub AllesDa()
    IstVorhanden "tabelle1"
    IstVorhanden "tabelle2"
    IstVorhanden "frmformular1"
    IstVorhanden "frmformular2"
    IstVorhanden "frmformular3"
End Sub
'-----------------------------------------------------------------------
Private Function IstVorhanden(SuchName As String) As Boolean
    On Error GoTo Fehler
    If DCount("[Name]", "MSysObjects", "[Name] = '" & SuchName & "'") = 1 Then
        IstVorhanden = True
    End If
   
    If IstVorhanden Then
        Debug.Print SuchName & " ist vorhanden"
    Else
        If Left(SuchName, 3) = "frm" Then
            If Not HolFormular(SuchName) Then
                Debug.Print "Ich habe Probleme beim Import von " & SuchName
            Else
                Debug.Print SuchName & " ist jetzt vorhanden!"
            End If
        Else
            Debug.Print SuchName & " ist NICHT vorhanden"
        End If
    End If
    Exit Function
Fehler:
    Debug.Print Now, SuchName, Err.Number, Err.Description
End Function
'-----------------------------------------------------------------------
Private Function HolFormular(FName As String) As Boolean
 Dim QuellDatei As String
    QuellDatei = "C:\Entwicklung\Module\" & FName & ".txt"
    If Dir(QuellDatei) <> "" Then
        Application.LoadFromText acForm, FName, QuellDatei
        DoEvents
        HolFormular = True
    Else
        Debug.Print "Ich finde das Formular " & FName & " nicht im Module-Verzeichnis"
    End If
End Function
Sieht aus als würde es wie gewünscht laufen.
Schön wäre es noch, wenn er mir nicht nur die Formulare importiert, sondern auch die Tabellenverknüpfungen.

Gruß
Doming
#5
Access Programmierung / Re: Formular (keine Daten) als...
Letzter Beitrag von Josef P. - Juni 19, 2025, 20:16:24
Hallo!

Der Export als Textdatei hat den guten Nebeneffekt, dass man die Datei mit einem Versionsverwaltungssystem nutzen kann.

Ich verwende für meine wiederverwendbaren Codemodule ein Access-Add-In, mit dem ich auch die Abhängigkeiten auflöse.
Im Codemodule schreibe ich dafür in einen XML-Block, welche anderen Codemodule benötigt werden.

Gruß
Josef



#6
Access Programmierung / Re: Formular (keine Daten) als...
Letzter Beitrag von knobbi38 - Juni 19, 2025, 18:52:15
Wenn man zwei DBs gleichzeitig ausmacht, kann man auch Drag&Drop zwischen diesen machen. Da braucht man nicht immer extra etwas importieren  ;)

Nur mal so ...

Knobbi38
#7
Smalltalk / Re: Access-Zukunft, Alternativ...
Letzter Beitrag von Bitsqueezer - Juni 19, 2025, 18:02:48
...oder es ist ein weiterer Spambeitrag mit Werbung... :)

Aber Libre Base schaue ich mir mal an.

Gibt übrigens auch noch andere: Python hat eine Benutzeroberfläche wxWidgets, die der Erstellung von UIs der von Access nicht unähnlich ist (gibt ein Tools dazu).

Gruß

Christian
#8
Access Programmierung / Re: Formular (keine Daten) als...
Letzter Beitrag von Doming - Juni 19, 2025, 17:50:40
Hallo Andreas,

exportieren würde gehen, Import ist mein Problem.
Ich werde meine ,,Standardmodule und Formulare" als txt exportieren und mit einer Public-Prozedur nachinstallieren.
Morgen, wenn ich wieder am betreffenden Rechner bin.
Ich werde das dann hier nachreichen und zum Zerfleddern freigeben  ;)

Gruß
 Doming
#9
Access Programmierung / Re: Formular (keine Daten) als...
Letzter Beitrag von andyfau - Juni 19, 2025, 15:08:45
Hallo Doming,
wieso erstellst Du nicht einfach eine "StandardDB.accdb" aus der Du dann einfach Standardobjekte importierst?
#10
Access Programmierung / Re: Tabellen nur bei Bedarf ve...
Letzter Beitrag von knobbi38 - Juni 19, 2025, 14:54:13
Hallo Doming,

Zitat von: Doming am Juni 19, 2025, 12:56:08Was ist da mit ,,Seite" gemeint? Ich vermute doch, dass es sich um den Datensatz handelt, oder?
mitnichten. Access verwaltet den Speicher in Seiten (Pages) und u.U. wird eine ganze Seite für den schreibenden Zugriff gesperrt.

Für weitere Information suche mal im Internet mit den Begriffen:
"ms access record locking vs page locking level"

Gruß Knobbi38