I have the same issue, but I'm working with Mappoint 2002 and VBA for MS Access 2000. In my database I have a frmMain which opens frmMap which has a fsubMap. I hae the following code and I'm looking to capture the LOCID of the pushpin that I just doubleclicked. I would like to pass this to an access query to update the frmMap record that the frmMap is currently displaying.

Start Sub Snipet()

If rstProps.RecordCount > 0 Then
If LoadMap() Then
FormOpen "frmMap"
Set objMap = gappmp.ActiveMap

While Not rstProps.EOF
i = i + 1
Set objLoc = objMap.GetLocation(rstProps!Latitude, rstProps!_ Longitude)
Set objPushpin = objMap.AddPushpin(objLoc, rstProps!LOCID)
objPushpin.Name = rstProps!CompanyName
objPushpin.Note = rstProps!HID
objPushpin.Symbol = 0
'Show all pushpins on the map display
strMsg = "Unable to load map."
MsgBox strMsg, vbOKOnly + vbExclamation, APP_NAME
End If
strMsg = "No properties selected."
MsgBox strMsg, vbOKOnly + vbExclamation, APP_NAME
End If

End Sub Snipet


Function LoadMap() As Boolean
On Error GoTo LoadMap_Err
Set gappmp = CreateObject("MapPoint.Application")
gappmp.Visible = False
gappmp.PaneState = geoPaneNone
ghwndMP = FindWindow(vbNullString, "Map - Microsoft MapPoint _ North America")
FlipBit ghwndMP, WS_CAPTION, False
LoadMap = True
End Function

It is at this point that the forms and map are finished loading, with the pins from the records that I pulled from the tblLocations. The frmMap's data source is tblLocations and has the four or five fields being displayed.

As I click on the map I would like to update the from record to reflect the pin that I just clicked.

In short I'm looking for something like:
Onclick of objPushpin
FindRecord in frmForm Where LOCID = Pushpin.LOCID

I saw some of the below code and modified it a little. I'm not sure where to "put it" or even if this is getting me started in the right direction.:

If I can get the LOCID into X as String I can recode to pass this to a FindRecod Method. Also objPushpin.Name = LOCID by the way.
Private Sub MPC_BeforeClick(ByVal Button As Long, ByVal Shift As Long, ByVal X As Long, ByVal Y As Long, Cancel As Boolean)

On Error Resume Next
Dim oResults As MapPoint.Pushpin
Dim X As String
SetParent ghwndMP, Me.hwnd <---- I'm not sure if I need this.
Set oResults = gappmp.ActiveMap.ObjectsFromPoint(X, Y)

For Each oResult In oResults
If TypeOf oResult Is Pushpin Then
X = objPushpin.Name
MsgBox (X)
End If
End Sub

All or any help is greatly appreciated in advance.