append fields

Status
Niet open voor verdere reacties.

so10070

Gebruiker
Lid geworden
4 feb 2014
Berichten
419
Ik wil velden aan een tabel toevoegen, maar niet aanvullen op het einde van de tabel. Deze nieuwe velden moeten op welbepaalde plaatsen in de tabel gezet worden. Ik slaag hier niet in. Zelfs onderstaande code geeft fout 3219 (De bewerking is in deze context niet toegestaan). :(
Code:
Private Sub Form_Load()
    Dim cnn As ADODB.Connection
    Dim rst As New ADODB.Recordset
    Dim iLoop As Integer
    
    Set cnn = CurrentProject.Connection
    rst.Open "001tblTest", cnn, adOpenKeyset, adLockPessimistic
    
    With rst.Fields
        .Append "Leeg1", adVarChar, 6
        .Append "Leeg2", adChar
        .Append "Leeg3", adBoolean
    End With
End Sub
 
Dat komt omdat één van de essentiële kenmerken van een database is dat de records geen volgorde hebben. Dat is het grote verschil met Excel. Je kan de records wel in een bepaalde volgorde opvragen in een query door een ORDER BY clausus toe te voegen.
 
Bespeur ik hier een spraakverwarring tussen Vraag en Antwoord? TS wil toch de vélden op een bepaalde plek toevoegen, waarom een antwoord over het sorteren van de records?

Maakt natuurlijk niet uit, in essentie zal het antwoord hetzelfde zijn: kan niet. Met Append voeg je velden toe die aansluiten op het laatste veld in de tabel. En dat geeft ook helemaal niet, want als de velden er eenmaal in staan, kun je ze altijd vanuit het Tabelontwerp verplaatsen. Maar waarom zou je je daar druk over maken?

Als je een goed werkende db hebt, dan werk je ongetwijfeld met formulieren. En die zijn veel strakker vastgelegd dan je hele tabel. Sowieso kun je de volgorde ook in een query aanpassen, mocht je er echt last van hebben. Maar dat doet dus ook niks voor de functionaliteit van je formulier, want daarop zul je sowieso de layout handmatig aan moeten passen, want als je de volgorde van de velden anders wilt, zul je moeten gaan schuiven met de overige velden. En vervolgens óók nog de tabvolgorde moeten aanpassen, want anders worden gebruikers helemaal gek van het gespring.

Kortom: maak je niet (zo) druk over de velden in je tabellen (die overigens wel degelijk een ‘eigen’ sortering hebben, zeker als je ook een Autonummerveld gebruikt) en queries, maar steek al je tijd in het aanpassen van de formulieren!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan