Prettige reactie, dank je. Een uitleg van de problematiek:
De backend db kan ik niet altijd op afstand benaderen. Als ik daar wijzigingen in wil aanbrengen dan moet ik naar de locatie toe met de auto, of ik moet iemand vragen om de backend naar me te mailen. Ik doe dan de aanpassing en mail het bestand terug. Dat werkt. Nadeel is het heen-en-weer gemail dat bovendien soms stuit op virusscanners die bepaalde bestandsformaten weigeren door te laten. Dan moet ik de handlanger op afstand uitleggen hoe de virusscanner te overtuigen dat het bestand gemaild mag worden. Met sommige mensen is dit echt heel lastig!
Met een stukje code hoeft dit niet meer. Ik mail dan een bestandje met een autoexec macro of stop het in een nieuw frontend. Ik kan het zo mooi maken als ik wil:
- controle of de wijziging al is gedaan (tabel of veld bestaat)
- controle of de db in gebruik is
- nacontrole of wijziging goed is gegaan
- markering maken zodat wijziging slechts eenmaal gebeurt
Public Sub Veldtoevoegen()
'hier controle of db in gebruik is en of de wijziging al is gedaan
Dim w As Workspace
Dim d As Database
Dim TABEL As Object
Dim VELDNAAM As String
Dim NIEUWVELD As Object
Set w = DBEngine.Workspaces(0)
Set d = w.OpenDatabase("F:\mapnaam\data1.mdb")
Set TABEL = d.TableDefs("T_Memo") 'naam van de tabel
VELDNAAM = "strNaampje" 'naam van het nieuwe veld
Set NIEUWVELD = TABEL.CreateField(VELDNAAM, dbText) 'soort veld kiezen
TABEL.Fields.Append NIEUWVELD
'hier msgbox met bevestiging
'dbBigInt Groot geheel getal
'dbBinary binair
'dbBoolean Boole - waarde
'dbByte Byte
'dbChar Char
'dbCurrency Valuta
'dbDate Datum / Tijd
'dbDecimal Decimaal
'dbDouble Double
'dbFloat Drijvend
'dbGUID Guid
'dbInteger Geheel getal
'dbLong Lang
'dbLongBinary Lang binair (OLE-object)
'dbMemo Memo
'dbNumeric Numeriek
'dbSingle Enkel
'dbText Tekst 255 lang
'dbTime Tijd
'dbTimeStamp Tijdstempel
'dbVarBinary Varbinary
End Sub
Dan de frontend aanpassingen:
Een nieuwe frontend maken en mailen is goed te doen.
Mijn overwegingen om alleen een query/formulier "over te zetten":
- het gebruiksgemak voor de handlanger, zelfde als bij backend-aanpassing beschreven
- het gaat nogal eens mis met de 'verwijzingen' met name als er met oudere access-versies of meerdere access versies door elkaar wordt gewerkt. De frontend opmaken in een oude accessversie biedt niet altijd soelaas.
Misschien zijn er betere oplossingen maar ik dacht dus aan een patch.mdb die de handlanger slechts eenmaal hoeft te openen waarmee de update van query/formulier gerealiseerd is.