meerdere items snel invoeren

Status
Niet open voor verdere reacties.

allard1977

Gebruiker
Lid geworden
7 feb 2011
Berichten
215
Hallo,

Ik heb nu een koppeling gemaakt met een excel fomulier om meer dere items snel in te voeren. Maar ik wil van excel af omdat ik met meerdere mensen mijn database deel. En de we aan iedere record een id hebben gekoppeld.

Nu heb ik wel een formulier gemaakt om record in tevoeren. maar dat duurt te lang als je 100 record inwil brengen. met excel kan je makkelijk slepen zoals datum.

heeft iemand een idee.

groet allard
 
Ik neem aan dat je met 'slepen' het vulgreepje bedoelt? In Excel maak je tabellen op een andere manier, omdat er geen integriteits controle is. In Access geef je bijvoorbeeld aan of een veld verplicht is of niet, en In Excel doe je dat niet. Vandaar dat je in Access ook altijd een record volgens de validatieregels van de tabel moet invullen.
Wel kun je standaardgegevens toekennen aan een veld, zodat je die velden dan niet meer hoeft in te vullen, mits de standaardwaarde natuurlijk correct is. Uiteindelijk zal de tijd voor het invullen van een tabel in Access of in Excel niet zo heel veel schelen; je moet de unieke gegevens toch intypen.
 
Als je veel dezelfde waarden moet invullen (bijvoorbeeld 100 x dezelfde datum) gaat dat in EXCEL inderdaad (veel) sneller dan in ACCESS, omdat je de waarden kunt kopieren en/of doorvoeren.
Om de invoer in ACCESS te versnellen kun je gebruik maken van:
- standaardwaarden (zie opmerking Octafish)
- de opzoekfunctie (waarden invoeren aan de hand van een keuzelijst)
- de aanhaalfunctie (CTRL ")
Als er nog meer mogelijkheden zijn dan verneem ik die graag.
 
In Excel gaat dat absoluut niet veel sneller, omdat je in Excel geen standaardwaarde kunt definiëren in een cel, en in Access kan dat wel: als standaardwaarde krijg je dan de formule =Date(). En met een standaardwaarde ingesteld hoef je nooit meer wat in te vullen. En iedereen weet natuurlijk dat een veld waarin je niets hoeft in te vullen veel sneller gevuld is dan een veld waarin je wèl iets moet invullen, all be it dat je dat dan met kopieëren kan doen...
Overigens is Allard denk ik nog steeds aan het piekeren over de mogelijkheden, want hij blijft vrij rustig :) Maar om nog een extra techniek aan het lijstje toe te voegen: je kunt een veldwaarde die je wel vaak nodig hebt als standaard instellen en via een gebeurtenis dan de standaardwaarde veranderen als je de waarde aanpast. Dus als je 20 records wilt maken met de waarde 12 als standaard, dan stel je die waarde via VBA in als DefaultValue, en als je de waarde verandert naar 31 dan wordt dat automatisch de Default waarde. Op die manier kun je met relatief weinig werk veel records invullen.
Maar laat TS eerst maar eens wat laten horen :)
 
Ik zal binnen kort er op terug komen maar zie intresantte dingen voor bij komen.
 
hallo octafish

Met de defaultvalue wil ik wel eens wat proberen. dan kan ik volgens mij alles via acces makkelijk invoeren dan hoef ik niet terug naar excel terug.
maar ik ben niet zo heel bekend met vba, ik begin het wel steeds beter te leren maar hoe zal zoiets er uit zien als code.

groet allard
en iedereen bedankt die mee gedacht heeft.
 
Hiermee kun je de Defaultwaarde aanpassen bij het invoeren.

Code:
Private Sub OPSLKenmerk_BeforeUpdate(Cancel As Integer)
Const cQuote = """"  'Dat zijn twee dubbele quotes tussen twee dubbele quotes.
    If Me.NewRecord = True Then
        If Me.OPSLKenmerk & "" <> "" And Me.OPSLKenmerk.Value <> Me.OPSLKenmerk.DefaultValue Then
            Me.OPSLKenmerk.DefaultValue = cQuote & Me.OPSLKenmerk.Value & cQuote
        End If
    End If
End Sub
Elke keer als je een nieuw record toevoegt, en het veld is niet leeg en de inhoud wijkt af van de ingestelde Defaultwaarde, wordt die overschreven met de nieuwe waarde uit het tekstveld.
 
beste octafish.

na veel puzzel is het mij gelukt het werkt heel mooi. dankje.

groet allard
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan