⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmattedit.frm

📁 用于河南省主体功能区区划的一个小地理信息系统
💻 FRM
字号:
VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
Begin VB.Form frmattedit 
   BorderStyle     =   3  'Fixed Dialog
   Caption         =   "空间属性编辑"
   ClientHeight    =   3000
   ClientLeft      =   45
   ClientTop       =   435
   ClientWidth     =   7395
   Icon            =   "frmattedit.frx":0000
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   3000
   ScaleWidth      =   7395
   ShowInTaskbar   =   0   'False
   Begin MSComctlLib.ListView LvwfeatureId 
      Height          =   4935
      Left            =   120
      TabIndex        =   5
      Top             =   360
      Width           =   1335
      _ExtentX        =   2355
      _ExtentY        =   8705
      LabelWrap       =   -1  'True
      HideSelection   =   -1  'True
      _Version        =   393217
      ForeColor       =   16711680
      BackColor       =   -2147483643
      BorderStyle     =   1
      Appearance      =   1
      NumItems        =   0
   End
   Begin VB.CommandButton cmdedit 
      Caption         =   "删除"
      Height          =   375
      Index           =   3
      Left            =   6120
      TabIndex        =   4
      Top             =   2280
      Width           =   600
   End
   Begin VB.CommandButton cmdedit 
      Caption         =   "添加"
      Height          =   375
      Index           =   2
      Left            =   6120
      TabIndex        =   3
      Top             =   1320
      Visible         =   0   'False
      Width           =   600
   End
   Begin VB.CommandButton cmdedit 
      Caption         =   "更新"
      Height          =   375
      Index           =   1
      Left            =   6120
      TabIndex        =   2
      Top             =   360
      Width           =   600
   End
   Begin VB.TextBox txtfldvalue 
      BackColor       =   &H8000000B&
      Height          =   350
      Index           =   0
      Left            =   3720
      TabIndex        =   1
      Text            =   "Text1"
      Top             =   240
      Width           =   1575
   End
   Begin VB.Label Label1 
      Caption         =   "选择记录:"
      Height          =   240
      Left            =   120
      TabIndex        =   6
      Top             =   100
      Width           =   1335
   End
   Begin VB.Label lblfldname 
      Caption         =   "Label1"
      ForeColor       =   &H00008000&
      Height          =   255
      Index           =   0
      Left            =   2400
      TabIndex        =   0
      Top             =   270
      Width           =   975
   End
End
Attribute VB_Name = "frmattedit"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim i As Integer
Dim recs As MapObjects2.Recordset
Dim Desc As TableDesc

Sub showfrmattedit()
Dim Index As Integer
Index = frmmain.TuLi.getActiveLayer

If Index = -1 Then
   MsgBox "当前没有活动的图层。", vbOKOnly, "停止"
   Exit Sub
End If

Dim g_activelayer As Object
Set g_activelayer = frmmain.Map1.Layers(Index)

If g_activelayer.LayerType = moMapLayer Then
   g_activelayer.RemoveRelates
   Set recs = g_activelayer.Records
   Set Desc = recs.TableDesc
End If

If recs.EOF Then
    MsgBox "当前记录集为空!", vbExclamation, "操作提示"
    Exit Sub
End If

Me.Show
  
End Sub

'Private Sub Cmdadd_Click()
'
'frmLogin.Show 1
'
'If Not txtUserName.text = "" Or txtpassword(0).text = "" Then
'
'    filename = App.path & "\info\" & "adm.dat"
'    Open filename For Random As #1 Len = 20
'    rec_total = LOF(1) / 20
'    If Not rec_total = 0 Then
'        rec_no = 1
'        Do While Not EOF(1)
'            Get #1, rec_no, user
'            If Trim(user.name) = txtUserName.text And _
'               Trim(user.password) = txtpassword Then
'                LoginSucceeded = True
'                Unload Me
'                islawedit = 1
'                frmattedit.showfrmattedit
'                Exit Sub
'            End If
'                rec_no = rec_no + 1
'        Loop
'
'    ElseIf LCase(txtUserName) = "hngis" And LCase(txtpassword) = "hn1508" Then
'        '将代码放在这里传递
'        '成功到 calling 函数
'        '设置全局变量时最容易的
'        LoginSucceeded = True
'        Unload Me
'        islawedit = 1
'        frmattedit.showfrmattedit
'    Else
'        MsgBox "无效的密码,请重试!", , "登录"
'        txtpassword.SetFocus
'        SendKeys "{Home}+{End}"
'    End If
'End Sub




Private Sub Cmdedit_Click(Index As Integer)

Select Case Index
    Case 0
        recs.CancelUpdate
    Case 1
        If recs.Updatable Then
On Err GoTo fals1
            recs.Edit
            For i = 0 To Desc.FieldCount - 1
            If Desc.FieldType(i) = moString Or _
               Desc.FieldType(i) = moBoolean Then
                recs(Desc.FieldName(i)).Value = txtfldvalue(i + 1).Text
            ElseIf Desc.FieldType(i) = moDouble Or _
                Desc.FieldType(i) = moLong Then
                recs(Desc.FieldName(i)).Value = Val(txtfldvalue(i + 1).Text)
            ElseIf Desc.FieldType(i) = moDate Then
                recs(Desc.FieldName(i)).Value = CDate(txtfldvalue(i + 1).Text)
            End If
            Next i
            recs.Update
            recs.StopEditing
        End If
        Exit Sub
fals1:
   MsgBox "输入数据格式错误!", vbExclamation, "操作提示"
   Exit Sub

    Case 2
        If recs.Updatable Then
            recs.AddNew
        End If
    Case 3
    
        If recs.Updatable Then
            On Error Resume Next
            recs.Delete
            recs.StopEditing
            frmmain.Map1.Refresh
            
            For i = 0 To txtfldvalue.Count - 1
                txtfldvalue(i).Text = ""
            Next i
            For i = 0 To Desc.FieldCount - 1
            txtfldvalue(i + 1).Text = recs(Desc.FieldName(i)).Value
            Next i
            txtfldvalue(0).Text = recs("FeatureID").Value
    
            LvwfeatureId.ListItems.Clear
            recs.MoveFirst
            Do While Not recs.EOF
            Dim newitem As ListItem
            Set newitem = LvwfeatureId.ListItems.Add()
            newitem.Text = recs.Fields("FeatureId").Value
            newitem.Selected = False
            recs.MoveNext
            DoEvents
            Loop
        Else
            MsgBox "该图层不可编辑!", vbExclamation, "操作提示"
        End If
       
    Case 4
        Dim response As String
        response = MsgBox("确定要保留更新吗?", vbYesNoCancel, "提示")
            If response = vbYes Then
            'Do Until recs.EOF
               recs.Update
            ElseIf response = vbNo Then
               recs.CancelUpdate
            End If
        recs.StopEditing
End Select
           
End Sub

'Private Sub cmdmove_Click(Index As Integer)
'
'Select Case Index
'    Case 0
'        recs.MoveFirst
'        txtfldvalue(0).text = recs("FeatureId").Value
'        For i = 0 To lblfldname.Count - 1
'            txtfldvalue(i + 1).text = recs(desc.FieldName(i)).Value
'            recs(desc.FieldName(i)).Value = txtfldvalue(i + 1).text
'         Next i
'    Case 1
'       ' If Not recs.BOF Then
'        recs.MovePrevious
'       ' End If
'        txtfldvalue(0).text = recs("FeatureId").Value
'        For i = 0 To lblfldname.Count - 1
'            txtfldvalue(i + 1).text = recs(desc.FieldName(i)).Value
'            recs(desc.FieldName(i)).Value = txtfldvalue(i + 1).text
'        Next i
'    Case 2
'        If Not recs.EOF Then
'            recs.MoveNext
'        End If
'        txtfldvalue(0).text = recs("FeatureId").Value
'        For i = 0 To lblfldname.Count - 1
'            txtfldvalue(i + 1).text = recs(desc.FieldName(i)).Value
'            recs(desc.FieldName(i)).Value = txtfldvalue(i + 1).text
'        Next i
'    Case 3
'        Do Until recs.EOF
'            recs.MoveNext
'        Loop
'        txtfldvalue(0).text = recs("FeatureId").Value
'        For i = 0 To lblfldname.Count - 1
'            txtfldvalue(i + 1).text = recs(desc.FieldName(i)).Value
'            recs(desc.FieldName(i)).Value = txtfldvalue(i + 1).text
'        Next i
'
'End Select
'
'End Sub
'-----------------------------------------------------
Private Sub Form_Load()

With LvwfeatureId
    .AllowColumnReorder = False
    .View = lvwReport
    .Gridlines = True
    .LabelEdit = lvwManual
    .HideColumnHeaders = False
    .ColumnHeaders.Add , , "FeatureID"
    .FullRowSelect = True
    .MultiSelect = False
End With

LvwfeatureId.ListItems.Clear

Do While Not recs.EOF
    Dim newitem As ListItem
    Set newitem = LvwfeatureId.ListItems.Add()
    newitem.Text = recs.Fields("FeatureId").Value
    newitem.Selected = False
    recs.MoveNext
    DoEvents
Loop

recs.MoveFirst

If lblfldname.Count > 1 Then
    For i = (lblfldname.Count - 1) To 1 Step -1
        Unload lblfldname(i)
        Unload txtfldvalue(i)
    Next i
End If

   lblfldname(0).Caption = "FeatureID"
   txtfldvalue(0).Text = recs("FeatureID").Value
   txtfldvalue(0).Locked = True
   
   For i = 0 To Desc.FieldCount - 1
       Load lblfldname(i + 1)
       With lblfldname(i + 1)
            .Left = lblfldname(0).Left
            .Width = lblfldname(0).Width
            .Top = lblfldname(i).Top + 400
            .Height = lblfldname(0).Height
            .Caption = Desc.FieldName(i)
            .Visible = True
        End With
       Load txtfldvalue(i + 1)
       With txtfldvalue(i + 1)
            .Left = txtfldvalue(0).Left
            .Width = txtfldvalue(0).Width
            .Top = txtfldvalue(i).Top + 400
            .Height = txtfldvalue(0).Height
            .Text = recs(Desc.FieldName(i)).Value
            .Visible = True
            If Desc.FieldName(i) = "LENGTH" Or _
            Desc.FieldName(i) = "AREA" Or _
            Desc.FieldName(i) = "PERIMETER" Then
            .Locked = True
            '.BackColor = &H8000000B
            Else
            .Locked = False
            .BackColor = vbWhite
            End If
        End With
   Next i

End Sub

Private Sub LvwfeatureId_Click()

recs.MoveFirst
Do While Not recs.EOF
    If LvwfeatureId.SelectedItem.Text = recs("featureid").ValueAsString Then
        lblfldname(0).Caption = "FeatureID"
        txtfldvalue(0).Text = recs("FeatureID").Value
        
        For i = 0 To Desc.FieldCount - 1
        lblfldname(i + 1).Caption = Desc.FieldName(i)
        txtfldvalue(i + 1).Text = recs(Desc.FieldName(i)).Value
        Next i
        frmmain.Map1.FlashShape recs("shape").Value, 3
        Exit Do
    End If
    recs.MoveNext
Loop

End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -