Link to home
Start Free TrialLog in
Avatar of Norm-al
Norm-alFlag for United States of America

asked on

connect to columns after edit event for inserting records in a different database/table

Hi, I am trying to hook up to a column's afteredit or afterpost event.  The purpose is to trigger a record insertion  in another database/table when the cell's value changes from NULL/BLANK to a datetime value.

have tried connecting to the columns change and updated events, but the code is not run.

Avatar of DatabaseMX (Joe Anderson - Former Microsoft Access MVP)
DatabaseMX (Joe Anderson - Former Microsoft Access MVP)
Flag of United States of America image

Should this maybe be in the SQL zone?

mx
Are you trying this from a form of some kind?

Private Sub MyField_AfterUpdate()
'if myfield isn't null then do your thing
If Nz(myfield, "") <> "" Then
'Do your insert thing here
End If
End Sub
Avatar of Norm-al

ASKER

Sorry, more explanation is needed...
I am trying to connect to an event fired by MSFlexGrid when a certain columns value changes from either NULL or BLANK to any value. I don't care about the value, I just need to trigger a record insertion in another database/table. Business logic is: when a user enters a date in the complete column (msflexgrid) then insert the job into the manufacturing database/table.

Avatar of Norm-al

ASKER

one more thing... this vbscript in an access database.  The grid is on a form.
Open that form in design view. Select the column, view it's properties....is there not an On_Change, or After_Update event for that column you're referring to?
If not, right click on the flexgrid object itself and select properties, there should be a build event option there also...come back and let us know.
J
Avatar of Norm-al

ASKER

I do not have access to a column object, but the grid has an onUpdated event.  The grid is dynamically populated in the forms open event with sql queries.
so how about using the Matrix property?

it's used like so

Grid1.TextMatrix(3,3) = "55"

Where 3,3 is the row and column.

you can test values that way and compare on the onUpdate event?

Not sure exactly how you want to approach it.
Avatar of Norm-al

ASKER

I am not sure what event to connect to.  the msflexgrid is activex and only has the on updated event.  it passes (code as integer).
I can test for the value with textmatrix, but how will i know it was the column whose value changed?

how about if I just connect to the forms on key up event, make sure I am on the desired column and the columns value is not NULL or blank and do the insert from there?
I created a small form with this kind of control on it. And there's just not much to it is there. I can set it's recordsource, I can capture when it's updated at the form level.
You think I can talk you out of using this particular control? maybe a subform control would work better? You can load a recordset into it...you have full control over each field...thoughts?
Avatar of Norm-al

ASKER

we are in the process of migrating out of the access table/application. Problem is it is a legacy application and needs this enhancement until it is converted.  I found out the form events do not fire for the grid.  Is this something I cannot achieve with this object?  If so, I will report it and move on to my next task.
thanks
see if you have this event available with your control

Private Sub ActiveXCtl0_SelChange()
MsgBox "selchange"
End Sub

I'm able to pop the msgbox using that code for my control when I click into a cell....any cell.

Of use to you?
Avatar of Norm-al

ASKER

I don't have that event to connect to... the grid (msflexgrid) only has on updated,enter,exit, got focus and lost focus events.  Besides, that would put me IN the cell, I need to process after cell contents have changed.
This looks like a lost cause to me... will have to wait until we rewrite that section of legacy apps.
What do you think?
ASKER CERTIFIED SOLUTION
Avatar of jefftwilley
jefftwilley
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Norm-al

ASKER

thanks for your persistence Jeff...
Awarding on last comment