Cannot use an existing ArcSDE feature class' fields collection when creating a scratch feature class in personal geodatabase.
上次发布: August 25, 2014No Product Found
漏洞 ID 编号
NIM000180
已提交
October 28, 2005
上次修改时间
June 5, 2024
适用范围
No Product Found
找到的版本
9.1
状态
Will Not Be Addressed
开发团队已考虑过该问题或请求,并决定不会解决该问题。 问题的“其他信息”部分可能包含进一步说明。
附加信息
No Public Explanation
解决办法
Copy the fields collection into a new fields collection. See the code below. Alternatively, create the fields collection from scratch. This is better as it will account for fully qualified field names like sde.username.fieldname.Private Sub MakeScratchCopyb1() Dim pMxDoc As IMxDocument Dim pMap As IMap Dim pFlayer As IFeatureLayer Dim pFC As IFeatureClass ' creates a scratch featureclass Set pMxDoc = Application.Document Set pMap = pMxDoc.FocusMap Set pMxDoc = Application.Document Dim pInFC As IFeatureClass Set pFlayer = pMxDoc.SelectedLayer Set pInFC = pFlayer.FeatureClass 'set up the scratch work area Dim pSWSF As IScratchWorkspaceFactory Set pSWSF = New ScratchWorkspaceFactory Dim pFWS As IFeatureWorkspace Set pFWS = pSWSF.DefaultScratchWorkspace Dim pFields As IFields Dim i As Integer Set pFields = New Fields Dim pField As IField Dim pFieldsEdit As IFieldsEdit Set pFieldsEdit = pFields For i = 0 To pInFC.Fields.FieldCount - 1 Set pField = pInFC.Fields.Field(i) pFieldsEdit.AddField pField Next i 'create our new scratch featureclass based on our input featureclass Dim pScratchFC As IFeatureClass Set pScratchFC = pFWS.CreateFeatureClass("QuarterQuarter", pFields, Nothing, Nothing, esriFTSimple, "SHAPE", "") End Sub