Ошибка доступа во время выполнения: '-2147352567 (80020009)' - запрос на остановку подчиненного поля не работает - PullRequest
0 голосов
/ 14 февраля 2019

Я уже отсканировал сайт на наличие ответов, но моя проблема, похоже, не всплыла, хотя обсуждалась ошибка времени выполнения ...

У меня есть подчиненная форма в форме.Форма содержит только три несвязанных текстовых поля, в которые можно ввести один или несколько критериев для поискового запроса.

В подчиненной форме содержатся все сведения из записей, возвращенных запросом.Когда вы не запрашиваете подчиненную форму, вы получаете каждую запись в базе данных.

Все поля в подчиненной форме работают без ошибок.Можно редактировать записи (что является целью всей этой формы).

Но когда вы запускаете запрос, одно из полей перестает работать, я получаю ошибку времени выполнения и значение текстового поля (котороесвязан) отображается как "#name".Если я закрою и снова открою форму, значение в поле будет правильным.

Поле получает значение из двух других полей и vba после обновления.Вот код:

Private Sub RefNoProbIndiGuess_AfterUpdate()
'Updates field "ProbIndiGuess" with a combination of individual
'from field "RefNoIndi" and probability from field "RefNoProbIndiGuess"

If RefNoIndi.Column(2) = "NA" Then
Form_subfrmValidate.ProbIndiGuess = "NA"
Else
Form_subfrmValidate.ProbIndiGuess = RefNoProbIndiGuess.Column(1) & " " & RefNoIndi.Column(2)
End If

End Sub

Запрос для выбранных записей строится с помощью построителя запросов доступа, но SQL довольно устрашающий ...:

SELECT tblRecord.Deactivated, tblRecord.KeyRecord, tblRecord.RecordNumber, tblRecord.RefNoUVNo, tblUVNumber.UVNo, tblOtherDNA.OtherSampleNo, tblRecord.Date, tblPersons.FullName, tblLocation.NearestTown, tblLocation.AreaName, tblRecord.RefNoTerritoryName, tblTerritoryName.TerritoryName, tblRecord.SampleType, tblRecord.SampleEvidence, tblValidate.KeyValidate, tblRecord.RefNoValidate, tblRecord.ValidateYes, tblValidate.SCALP, tblRecord.SCALPYes, tblValidate.RefNoValSpecies, tblValidateSpecies.Genus, tblValidateSpecies.Species, tblValidateSpecies.Subspecies, tblValidate.ValidatePerson, tblValidate.Event, tblValidate.ValidationDate, tblValidate.RefNoIndi, tblIndividual.Individual, tblIndividual.IndiSex, tblValidate.IndiAgeAtSampleTime, tblValidate.ProbIndiGuess, tblValidate.RefNoPack, tblPack.PackName, tblValidate.RefNoWriterValidation, tblValidate.DateWrittenValidation, tblRecord.DNAAnalysisYes, tblValidate.RefNoSenckAnalysis, tblValidate.SenckID, tblValidate.SenckOrder, tblValidate.SenckLabID, tblValidate.SenckEDatum, tblValidate.SenckPrice, tblValidate.SenckType_mtDNA, tblValidate.SenckHaploType, tblValidate.SenckInfo_mtDNA, tblValidate.SenckType_NucleusDNA, tblValidate.SenckSex, tblValidate.SenckIndividual, tblValidate.SenckInfo_NucleusDNA, tblValidate.SenckFind, tblValidate.SenckPStatus, tblValidate.SenckPTyp, tblRecord.RefNoPhotoDoc, tblPhotoDoc.PhotoFiles, tblProbIndiGuess.KeyProbIndiGuess, tblProbIndiGuess.ProbIndiGuess, tblValidate.RefNoProbIndiGuess
FROM tblIndividual INNER JOIN ((tblValidateSpecies INNER JOIN (tblSenckAnalysisType INNER JOIN (tblProbIndiGuess INNER JOIN (tblPack INNER JOIN tblValidate ON tblPack.KeyPack = tblValidate.RefNoPack) ON tblProbIndiGuess.KeyProbIndiGuess = tblValidate.RefNoProbIndiGuess) ON tblSenckAnalysisType.KeySenckAnalysisType = tblValidate.RefNoSenckAnalysis) ON tblValidateSpecies.KeyValidateSpecies = tblValidate.RefNoValSpecies) INNER JOIN (tblUVNumber INNER JOIN (tblTerritoryName INNER JOIN (tblPhotoDoc INNER JOIN (tblPersons INNER JOIN (tblOtherDNA INNER JOIN (tblLocation INNER JOIN tblRecord ON tblLocation.KeyLocation = tblRecord.RefNoLocation) ON tblOtherDNA.KeyOtherDNA = tblRecord.RefNoOtherDNA) ON tblPersons.KeyPersons = tblRecord.RefNoInformer) ON tblPhotoDoc.KeyPhoto = tblRecord.RefNoPhotoDoc) ON tblTerritoryName.KeyTerritoryName = tblRecord.RefNoTerritoryName) ON tblUVNumber.KeyUVNo = tblRecord.RefNoUVNo) ON tblValidate.KeyValidate = tblRecord.RefNoValidate) ON tblIndividual.KeyIndividual = tblValidate.RefNoIndi
WHERE (((tblRecord.Deactivated)=False) AND ((tblRecord.RecordNumber) Like [Formularer]![frmValidate].[FindRecordNumber] & "*") AND ((tblUVNumber.UVNo) Like [Formularer]![frmValidate].[FindUVNumber] & "*") AND ((tblOtherDNA.OtherSampleNo) Like [Formularer]![frmValidate].[FindOtherSampleNumber] & "*"));

Я уверенответ довольно прост, но я, кажется, не могу обойти его.

...