If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
|
Thread Tools | Display Modes |
#1
|
|||
|
|||
don't save empty row in table
Hy,
I have a question. When I open my form, but I decide not to save that record, I delete everything from fields in form, but when I close my form, and open the table, I see that I have 1 empty row in my table. Does anyone have idea how to aviod this empty row? |
#2
|
|||
|
|||
don't save empty row in table
Press Esc to clear all input fields, then close the form
-- TedMi |
#3
|
|||
|
|||
don't save empty row in table
As I understand it, pressing Esc once will clear the current control;
pressing Esc twice is the same as Undo in VBA -- it clears all fields in the unsaved record). A command button with Me.Undo as its click event is another way to clear the current record. However, it is not clear whether you have entered any data before you decide not to create a record. Does the empty row have an asterisk at the left side? If so, that row represents the new record, and will be there when you open the table in datasheet view. However, if there is a blank row other than that one you are saving the record. "Smoki" wrote in message ... Hy, I have a question. When I open my form, but I decide not to save that record, I delete everything from fields in form, but when I close my form, and open the table, I see that I have 1 empty row in my table. Does anyone have idea how to aviod this empty row? |
#4
|
|||
|
|||
don't save empty row in table
consider adding a conditional me.dirty=true to the close event
something along the line If IsNull(me.AVeryKeyField) then me.dirty=true End If -- NTC "Smoki" wrote: Hy, I have a question. When I open my form, but I decide not to save that record, I delete everything from fields in form, but when I close my form, and open the table, I see that I have 1 empty row in my table. Does anyone have idea how to aviod this empty row? |
#5
|
|||
|
|||
don't save empty row in table
I know that empty row with asterisk represents new record. But my empty row
is not with asterisk, the only field in this row which is not empty is ID field (AutoNumber), but other columns (which are connected with fields on my form) are empty. So, I have that empty row, and my next row has asterisk (this row is for new record). Than I have manually to delete this row from my table, and ID already take next value. "BruceM" wrote: As I understand it, pressing Esc once will clear the current control; pressing Esc twice is the same as Undo in VBA -- it clears all fields in the unsaved record). A command button with Me.Undo as its click event is another way to clear the current record. However, it is not clear whether you have entered any data before you decide not to create a record. Does the empty row have an asterisk at the left side? If so, that row represents the new record, and will be there when you open the table in datasheet view. However, if there is a blank row other than that one you are saving the record. "Smoki" wrote in message ... Hy, I have a question. When I open my form, but I decide not to save that record, I delete everything from fields in form, but when I close my form, and open the table, I see that I have 1 empty row in my table. Does anyone have idea how to aviod this empty row? |
#6
|
|||
|
|||
don't save empty row in table
Do you have code that saves the record as soon as it is created, or anything
like that? You say you "delete everything from fields in the form". How did the data get into those fields so that it was necessary to delete it? Does pressing Esc twice eliminate the problem? If so, Undo can be placed into the code somewhere. For instance, in the form's Before Update event you could have something like: If IsNull(Me.SomeField) Then If MsgBox ("Cancel the record?",vbYesNo) = vbYes Then Me.Undo End If End If "Smoki" wrote in message ... I know that empty row with asterisk represents new record. But my empty row is not with asterisk, the only field in this row which is not empty is ID field (AutoNumber), but other columns (which are connected with fields on my form) are empty. So, I have that empty row, and my next row has asterisk (this row is for new record). Than I have manually to delete this row from my table, and ID already take next value. "BruceM" wrote: As I understand it, pressing Esc once will clear the current control; pressing Esc twice is the same as Undo in VBA -- it clears all fields in the unsaved record). A command button with Me.Undo as its click event is another way to clear the current record. However, it is not clear whether you have entered any data before you decide not to create a record. Does the empty row have an asterisk at the left side? If so, that row represents the new record, and will be there when you open the table in datasheet view. However, if there is a blank row other than that one you are saving the record. "Smoki" wrote in message ... Hy, I have a question. When I open my form, but I decide not to save that record, I delete everything from fields in form, but when I close my form, and open the table, I see that I have 1 empty row in my table. Does anyone have idea how to aviod this empty row? |
#7
|
|||
|
|||
don't save empty row in table
All my fields are bound fields, so every data which I enter in this fields
have been saved in my table. But, if I enter something in my form, and then decide not to save this data, I manually delete data from fields, and when I close my form, and check the table I see that I have 1 empty row in my table. I tried somthing with this IsNull function, but my form doesn't work than, maybe it is because my fields are bound? "BruceM" wrote: Do you have code that saves the record as soon as it is created, or anything like that? You say you "delete everything from fields in the form". How did the data get into those fields so that it was necessary to delete it? Does pressing Esc twice eliminate the problem? If so, Undo can be placed into the code somewhere. For instance, in the form's Before Update event you could have something like: If IsNull(Me.SomeField) Then If MsgBox ("Cancel the record?",vbYesNo) = vbYes Then Me.Undo End If End If "Smoki" wrote in message ... I know that empty row with asterisk represents new record. But my empty row is not with asterisk, the only field in this row which is not empty is ID field (AutoNumber), but other columns (which are connected with fields on my form) are empty. So, I have that empty row, and my next row has asterisk (this row is for new record). Than I have manually to delete this row from my table, and ID already take next value. "BruceM" wrote: As I understand it, pressing Esc once will clear the current control; pressing Esc twice is the same as Undo in VBA -- it clears all fields in the unsaved record). A command button with Me.Undo as its click event is another way to clear the current record. However, it is not clear whether you have entered any data before you decide not to create a record. Does the empty row have an asterisk at the left side? If so, that row represents the new record, and will be there when you open the table in datasheet view. However, if there is a blank row other than that one you are saving the record. "Smoki" wrote in message ... Hy, I have a question. When I open my form, but I decide not to save that record, I delete everything from fields in form, but when I close my form, and open the table, I see that I have 1 empty row in my table. Does anyone have idea how to aviod this empty row? |
#8
|
|||
|
|||
don't save empty row in table
It looks ok, but what do you mean by this (me.AVeryKeyField) ???
Do I have to put instead of me.AVeryKeyField all my fields??? "NetworkTrade" wrote: consider adding a conditional me.dirty=true to the close event something along the line If IsNull(me.AVeryKeyField) then me.dirty=true End If -- NTC "Smoki" wrote: Hy, I have a question. When I open my form, but I decide not to save that record, I delete everything from fields in form, but when I close my form, and open the table, I see that I have 1 empty row in my table. Does anyone have idea how to aviod this empty row? |
#9
|
|||
|
|||
don't save empty row in table
It looks ok, but what do you mean by this (me.AVeryKeyField) ???
Do I have to put instead of me.AVeryKeyField all my fields??? "NetworkTrade" wrote: consider adding a conditional me.dirty=true to the close event something along the line If IsNull(me.AVeryKeyField) then me.dirty=true End If -- NTC "Smoki" wrote: Hy, I have a question. When I open my form, but I decide not to save that record, I delete everything from fields in form, but when I close my form, and open the table, I see that I have 1 empty row in my table. Does anyone have idea how to aviod this empty row? |
#10
|
|||
|
|||
don't save empty row in table
My SomeField is the same idea, I think, as AVeryKeyField in the other part
of this thread. Test the value of a field that must be filled in. If it is blank, don't save the record (or at least give the user the option, as I suggested). Regarding bound fields, the information entered into them is saved as soon as the record is updated. The record is updated when you move to another record, close the form, close the database, or explicitly save the record (there are a few other ways this can happen, I think). Until the record is saved, pressing Esc twice will undo the record, or you can use the Undo code. You say you tried "something" with Undo, but what exactly is that? Assume when somebody is trying to help that there is a reason for questions they ask. If you need further help, please respond to the questions I asked in the previous posting. "Smoki" wrote in message ... All my fields are bound fields, so every data which I enter in this fields have been saved in my table. But, if I enter something in my form, and then decide not to save this data, I manually delete data from fields, and when I close my form, and check the table I see that I have 1 empty row in my table. I tried somthing with this IsNull function, but my form doesn't work than, maybe it is because my fields are bound? "BruceM" wrote: Do you have code that saves the record as soon as it is created, or anything like that? You say you "delete everything from fields in the form". How did the data get into those fields so that it was necessary to delete it? Does pressing Esc twice eliminate the problem? If so, Undo can be placed into the code somewhere. For instance, in the form's Before Update event you could have something like: If IsNull(Me.SomeField) Then If MsgBox ("Cancel the record?",vbYesNo) = vbYes Then Me.Undo End If End If "Smoki" wrote in message ... I know that empty row with asterisk represents new record. But my empty row is not with asterisk, the only field in this row which is not empty is ID field (AutoNumber), but other columns (which are connected with fields on my form) are empty. So, I have that empty row, and my next row has asterisk (this row is for new record). Than I have manually to delete this row from my table, and ID already take next value. "BruceM" wrote: As I understand it, pressing Esc once will clear the current control; pressing Esc twice is the same as Undo in VBA -- it clears all fields in the unsaved record). A command button with Me.Undo as its click event is another way to clear the current record. However, it is not clear whether you have entered any data before you decide not to create a record. Does the empty row have an asterisk at the left side? If so, that row represents the new record, and will be there when you open the table in datasheet view. However, if there is a blank row other than that one you are saving the record. "Smoki" wrote in message ... Hy, I have a question. When I open my form, but I decide not to save that record, I delete everything from fields in form, but when I close my form, and open the table, I see that I have 1 empty row in my table. Does anyone have idea how to aviod this empty row? |
|
Thread Tools | |
Display Modes | |
|
|