subeffect — 2009-05-31T09:06:52-04:00 — #1
I've got a silly, silly problem in Ms Access.
I need to do that thing, you know the one, where you type in stuff in a form or a list (in Excel for example) and the software "remembers" what you typed in the same field last time and offers you your old options.
I'd call it autocomplete or autofill but googling solutions to for this in Access gives me details on how to do the far more complex autofilling/completing of ANOTHER field based on what you are putting into the current field. Yes, that is very useful and I'll need it one day, but not today.
I'm inputting hundreds of records, all fairly simple (10 small bits of data each, some of which are just yes/no tick boxes \o/) with the exception of the final field which is always a long technical description.
How do I get Access to auto-whatever it is?
I've set up a combo-box that queries the field in question so I can copy an paste descriptions from that but it doesn't update unless you close and re-open the form. Its a poor mans version of the auto-whatever (does anyone know what this is called?).
Any ideas how to do this?
Oh, version of Access I have are 2007 (desktop) and 2003 (laptop. I think it's 2003, its the one before 2007 anyway).
PS. I know I shouldn't really be repeating data like this if I want a fully normalised database. But I don't want a fully normalised database with this - its just one table and is essentially a fancy Excel sheet because I can run queries on it and get funky and meaningful graphs with more ease.
wwb_99 — 2009-05-31T11:03:41-04:00 — #2
Actually, this is a pretty good technique for cases where it doesn't need to be fully normalized but having some consistency would be nice. Anyhow, it's not too hard to do, and it seems like you've got most of it sorted. Key trick is to make the combo box in question requery in the form's OnCurrent event to take care of the refreshing issue.
subeffect — 2009-05-31T14:06:54-04:00 — #3
How do I do that? I'm lost in Access tbh. Give me mySQL and I'll be ok. It's all those blasted menus.
wwb_99 — 2009-06-01T11:55:16-04:00 — #4
Thing to remember here is that, unlike MySql, Access is both a DB engine and a desktop programming environment for said DB engine. Anyhow, if you look at the form's properties, go to the events tab and find the Current (might be called OnCurrent) event. Then change it to run a VBA fucntion (they might call the option Code). Add the following to the function it drops you into:
Replacing MyComboBox with the appropriate combo box, it should appear in intellisense.