• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Tabel vullen vanuit extern bestand

Status
Niet open voor verdere reacties.

Martin87

Gebruiker
Lid geworden
9 dec 2014
Berichten
14
Hallo,

Ik heb een bestand met een tabel die dagelijks aangevuld moet worden (zie bijlage Bekijk bijlage tabel voorbeeld.xlsx). Degene die invult mag niet in het bestand waar de tabel staat, dus daarom wil ik de invoer van de gegevens vanuit een ander bestand regelen. Het bijgevoegde bestand moet dus de gegevens ophalen uit een invoerbestand.

Er zijn een paar voorwaarden:

1. Het bijgevoegde bestand moet geopend kunnen zijn, terwijl de brongegevens worden ingevoerd en opgeslagen.
2. De invoer moet kunnen worden opgeslagen, terwijl het bestand met tabel geopend is (logisch gevolg van 1...).
2. De ingevoerde gegevens moeten opgehaald/vernieuwd kunnen worden zodra deze zijn opgeslagen door de invoerder.

Het zou mooi zijn als de onderstaande restricties ook meegenomen konden worden:

1. Het veld datum mag een datumwaarde hebben tussen vandaag en vijf dagen terug.
2. Het veld klantcode zou ik graag een drop down lijst willen, of in ieder geval beperkte keuze uit bestaande klanten.
3. Het veld aantal moet groter zijn dan 0,09.

Ik zoek dus een oplossing voor invoer van de gegevens. Ben met externe verbindingen bezig geweest, maar daar lukt het (mij) niet mee...

Alvast mijn dank, Martin
 
Martin,

Ik begrijp je vraag niet goed. Je hebt een bestand meegestuurd en je vraagt twee bestanden.
Een voor de invoer van gegevens en een voor een tabel met de ingevulde gegevens of te wel een database.
Degene die invoert mag niet in het bestand met de tabel kunnen kijken maar hij moet deze wel kunnen
openen om de gegevens weg te kunnen schrijven?

Het wegschrijven van gegevens kun je eigenlijk alleen met een macro realiseren.
Omdat het bestand met de tabel geopend moet kunnen worden terwijl de brongegevens worden ingevoerd
en opgeslagen kun je hier alleen maar een gedeelde werkmap voor gebruiken.
Echter, in de gedeelde werkmap kun je geen VBA code gebruiken omdat een gedeelde werkmap dit niet toestaat.

De enigste oplossing is dan om het invoerbestand te voorzien van een macro om de gegevens weg te schrijven.
Dat kan echter alleen als de gene die de invoert ook het bestand kan openen, bewerken en sluiten.
Dus kun je hem niet helemaal afschermen van het bestand met de tabel.

Het maken van de macro is niet echt een probleem als je hier wat meer over wil weten moet je het maar zeggen.

Voor de restrictie kun alle velden met gegevensvalidatie voor schrijven.
- Datum : Lint, Gegevens, Hulpmiddelen voor gegevens, Gegevensvalidatie, Toestaan: datum, Begindatum: =VANDAAG()-5, Eindataum: =VANDAAG()
- Aantal : Lint, Gegevens, Hulpmiddelen voor gegevens, Gegevensvalidatie, Toestaan: decimaal, Gegeven: "Groter dan", Minimum: 0,09
Maak een lijst met klantcodes op een ander tabblad en noem deze lijst "Klantcodes"
- Klantcode: Lint, Gegevens, Hulpmiddelen voor gegevens, Gegevensvalidatie, Toestaan: Lijst, Bron: "Klantcodes"


Veel Succes.
 
Bedankt voor je reactie, ik heb geprobeerd het wat te verduidelijken.

Ik begrijp je vraag niet goed. Je hebt een bestand meegestuurd en je vraagt twee bestanden.
Een voor de invoer van gegevens en een voor een tabel met de ingevulde gegevens of te wel een database.
Degene die invoert mag niet in het bestand met de tabel kunnen kijken maar hij moet deze wel kunnen
openen om de gegevens weg te kunnen schrijven?

Eigenlijk wil ik dat degene die invoert het bestand met de tabel niet hoeft te openen, maar daar een ander bestand voor gebruikt (welke ik niet heb bijgevoegd, omdat ik open wilde laten op welke manier dat eventueel zou moeten).

Het wegschrijven van gegevens kun je eigenlijk alleen met een macro realiseren.
Omdat het bestand met de tabel geopend moet kunnen worden terwijl de brongegevens worden ingevoerd
en opgeslagen kun je hier alleen maar een gedeelde werkmap voor gebruiken.
Echter, in de gedeelde werkmap kun je geen VBA code gebruiken omdat een gedeelde werkmap dit niet toestaat.

Een bestand met excel-tabellen kan helaas niet als gedeeld bestand worden opgeslagen, maar misschien moet ik de tabel dan converteren naar een normaal bereik... Nadeel is dat dit het bestand een stuk zwaarder maakt (is mijn ervaring), en dat probeerde ik juist te voorkomen door met tabellen te werken.


De enigste oplossing is dan om het invoerbestand te voorzien van een macro om de gegevens weg te schrijven.
Dat kan echter alleen als de gene die de invoert ook het bestand kan openen, bewerken en sluiten.
Dus kun je hem niet helemaal afschermen van het bestand met de tabel.

Dit is idd een optie. Maar dan zou ik werkbladen voor bepaalde gebruikers wel en voor andere gebruikers weer niet zichtbaar willen maken. Volgens mij bestaat die mogelijkheid niet, of zie ik iets over het hoofd?

Het maken van de macro is niet echt een probleem als je hier wat meer over wil weten moet je het maar zeggen.

Voor de restrictie kun alle velden met gegevensvalidatie voor schrijven.
- Datum : Lint, Gegevens, Hulpmiddelen voor gegevens, Gegevensvalidatie, Toestaan: datum, Begindatum: =VANDAAG()-5, Eindataum: =VANDAAG()
- Aantal : Lint, Gegevens, Hulpmiddelen voor gegevens, Gegevensvalidatie, Toestaan: decimaal, Gegeven: "Groter dan", Minimum: 0,09
Maak een lijst met klantcodes op een ander tabblad en noem deze lijst "Klantcodes"
- Klantcode: Lint, Gegevens, Hulpmiddelen voor gegevens, Gegevensvalidatie, Toestaan: Lijst, Bron: "Klantcodes"


Veel Succes.

Hoe zou ik de macro moeten opbouwen? Ik weet ongeveer hoe het werkt, maar alleen met de opnameknop. Volgens mij wordt het dan echter een te lange macro.. Het schrijven zou ik graag je hulp bij gebruiken! Ik heb een opzetje Bekijk bijlage tabel voorbeeld.xlsx gemaakt met de bovenstaande restricties. Ik zou dan graag willen weten hoe ik hier een invoerknop voor maak en hoe ik de gegevens aan de tabel toevoeg.

Nogmaals bedankt!
 
Hoi Martin,

Het klinkt dat je graag een centrale database wilt maken waarbij de gebruiker slechts een deel van de gegevens ik kan kijken.
Ik heb lang geleden zo'n database gemaakt en hier gepost. Je kan er veel info uit halen:
http://www.helpmij.nl/forum/showthre...07#post5412707

Groet,
Jeroen

Jeroen bedankt voor je reactie, maar de link geeft helaas een foutmelding. Heb je een goede link of een andere manier waarop ik het kan vinden?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan