From: Tara on
I have someone who says they entered data into a database, but the data isn't
there. Others have entered data into the same database and that data is
there. All users have used the same front-end. Save is automatic when the
form is closed. There are no signs of corruption.

Is this possible?
From: Dirk Goldgar on
"Tara" <Tara(a)discussions.microsoft.com> wrote in message
news:83693CD9-76E5-4225-9864-CEB70132EA59(a)microsoft.com...
>I have someone who says they entered data into a database, but the data
>isn't
> there. Others have entered data into the same database and that data is
> there. All users have used the same front-end. Save is automatic when
> the
> form is closed. There are no signs of corruption.
>
> Is this possible?

No -- or rather, in the absence of corruption or user action, data doesn't
just disappear. There are a few possibilities to consider:

1. The user is mistaken in thinking the data was entered.

2. The data was manually deleted, either by this user or by someone else.

3. The data was deleted programmatically or by a delete query that was too
broad in scope.

4. The data was deleted by the action of cascading deletes -- that is, a
"parent" record in another table was deleted, and relationships have been
defined in such a way that deleting the parent record causes all related
records to be deleted.

5. The data is still there, but doesn't appear on the form, report, or query
you're looking at because either (a) there are filtering criteria in effect
that exclude it, or (b) the form/report's recordsource is a query (or you're
looking directly at a query) that joins multiple tables in a way that
prevents the records from the subject table from appearing when they don't
have matching records in some other table -- and the records you're looking
for don't.

The first thing I would investigate is #5, above. Make sure you look
directly in the table where these records are supposed to have been stored,
and see if they are there.

--
Dirk Goldgar, MS Access MVP
Access tips: www.datagnostics.com/tips.html

(please reply to the newsgroup)

From: Tara on
Thanks Dirk.

I have looked in the tables directly...no data. There is only one delete
query - it's very specific and limited in scope and doesn't include the table
in question, so I know that's not the issue. I do have cascading deletes
set, but there is no way to delete the parent record via forms. Someone
would have had to enter the table directly, which is highly unlikely. Which
basically leaves me with #1.

Thank you. I was a tad upset that the integrity of my design was being
questioned. I knew I personally had never seen data just randomly disappear,
but I needed to confirm from someone more knowledgeable than myself that it
simply doesn't happen that way.

"Dirk Goldgar" wrote:

> "Tara" <Tara(a)discussions.microsoft.com> wrote in message
> news:83693CD9-76E5-4225-9864-CEB70132EA59(a)microsoft.com...
> >I have someone who says they entered data into a database, but the data
> >isn't
> > there. Others have entered data into the same database and that data is
> > there. All users have used the same front-end. Save is automatic when
> > the
> > form is closed. There are no signs of corruption.
> >
> > Is this possible?
>
> No -- or rather, in the absence of corruption or user action, data doesn't
> just disappear. There are a few possibilities to consider:
>
> 1. The user is mistaken in thinking the data was entered.
>
> 2. The data was manually deleted, either by this user or by someone else.
>
> 3. The data was deleted programmatically or by a delete query that was too
> broad in scope.
>
> 4. The data was deleted by the action of cascading deletes -- that is, a
> "parent" record in another table was deleted, and relationships have been
> defined in such a way that deleting the parent record causes all related
> records to be deleted.
>
> 5. The data is still there, but doesn't appear on the form, report, or query
> you're looking at because either (a) there are filtering criteria in effect
> that exclude it, or (b) the form/report's recordsource is a query (or you're
> looking directly at a query) that joins multiple tables in a way that
> prevents the records from the subject table from appearing when they don't
> have matching records in some other table -- and the records you're looking
> for don't.
>
> The first thing I would investigate is #5, above. Make sure you look
> directly in the table where these records are supposed to have been stored,
> and see if they are there.
>
> --
> Dirk Goldgar, MS Access MVP
> Access tips: www.datagnostics.com/tips.html
>
> (please reply to the newsgroup)
>
From: Dirk Goldgar on
"Tara" <Tara(a)discussions.microsoft.com> wrote in message
news:DC8BD76B-AFFC-49F9-B8A7-82AD2378522F(a)microsoft.com...
> Thanks Dirk.
>
> I have looked in the tables directly...no data. There is only one delete
> query - it's very specific and limited in scope and doesn't include the
> table
> in question, so I know that's not the issue. I do have cascading deletes
> set, but there is no way to delete the parent record via forms. Someone
> would have had to enter the table directly, which is highly unlikely.
> Which
> basically leaves me with #1.
>
> Thank you. I was a tad upset that the integrity of my design was being
> questioned. I knew I personally had never seen data just randomly
> disappear,
> but I needed to confirm from someone more knowledgeable than myself that
> it
> simply doesn't happen that way.


It does not.

One additional possibility occurs to me. If the data entered was invalid in
such a way that it could not be saved -- missing required fields, failing a
validation rule, no matching record in a related table, etc. -- then *if*
you close the form in code by calling DoCmd.Close, then the invalid record
will be silently discarded and the form will close anyway. In this case,
the user would not realize that the record had not been saved.

For this reason, it is important that if you have a "Close" button on your
form, you make sure that the code for that button explicitly saves the
record before closing the form, like this:

If Me.Dirty Then Me.Dirty = False
DoCmd.Close acForm, Me.Name, acSaveNo


--
Dirk Goldgar, MS Access MVP
Access tips: www.datagnostics.com/tips.html

(please reply to the newsgroup)

From: Tara on
I never thought about invalid data causing an issue. For whatever reason -
maybe just the way I learned to do it - I always explicitly save. Which is
why I probably never thought about it being an issue...I've never run into
it. It obviously makes sense though!

Learn something new everyday! Thanks again.

"Dirk Goldgar" wrote:

> "Tara" <Tara(a)discussions.microsoft.com> wrote in message
> news:DC8BD76B-AFFC-49F9-B8A7-82AD2378522F(a)microsoft.com...
> > Thanks Dirk.
> >
> > I have looked in the tables directly...no data. There is only one delete
> > query - it's very specific and limited in scope and doesn't include the
> > table
> > in question, so I know that's not the issue. I do have cascading deletes
> > set, but there is no way to delete the parent record via forms. Someone
> > would have had to enter the table directly, which is highly unlikely.
> > Which
> > basically leaves me with #1.
> >
> > Thank you. I was a tad upset that the integrity of my design was being
> > questioned. I knew I personally had never seen data just randomly
> > disappear,
> > but I needed to confirm from someone more knowledgeable than myself that
> > it
> > simply doesn't happen that way.
>
>
> It does not.
>
> One additional possibility occurs to me. If the data entered was invalid in
> such a way that it could not be saved -- missing required fields, failing a
> validation rule, no matching record in a related table, etc. -- then *if*
> you close the form in code by calling DoCmd.Close, then the invalid record
> will be silently discarded and the form will close anyway. In this case,
> the user would not realize that the record had not been saved.
>
> For this reason, it is important that if you have a "Close" button on your
> form, you make sure that the code for that button explicitly saves the
> record before closing the form, like this:
>
> If Me.Dirty Then Me.Dirty = False
> DoCmd.Close acForm, Me.Name, acSaveNo
>
>
> --
> Dirk Goldgar, MS Access MVP
> Access tips: www.datagnostics.com/tips.html
>
> (please reply to the newsgroup)
>
 |  Next  |  Last
Pages: 1 2 3
Prev: mail merge currency
Next: Email multiple reports