乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 26|回复: 1

菜鸟求助:实现不了功能帮忙看看指点指点

[复制链接]

1

主题

1

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2006-6-13 00:52:00 | 显示全部楼层 |阅读模式
根据 >看的,做gis辅助,就想实现把图型中各个点的坐标等信息导入数据库,但现在有问题,坐标能捕捉到但好象数据传不到书库库
Option Explicit
Dim daoDb As DAO.Database   '数据库对象
Dim daoRs As DAO.Recordset  '记录集对象
Dim strPath As String
Private Sub cmdAdd_Click()
    On Error GoTo errHandle
    '添加一条记录
    daoRs.AddNew
   
    ExchangeData True
   
    daoRs.Update
   
errHandle:
    If Err.Number = 3022 Then
        MsgBox "首先修改文本框中的数值,然后单击“添加”按钮,完成添加的操作。", vbCritical
    End If
    Err.Clear
End Sub
Private Sub cmdExit_Click()
    Unload Me
End Sub
Private Sub cmdFirst_Click()
    '转到第一条记录
    daoRs.MoveFirst
   
    ExchangeData False
End Sub
Private Sub cmdLast_Click()
    '转到最后一条记录
    daoRs.MoveLast
   
    ExchangeData False
End Sub
Private Sub cmdNext_Click()
    On Error Resume Next
    If Not daoRs.EOF Then
        daoRs.MoveNext
    Else
        daoRs.MoveLast
    End If
   
    ExchangeData False
End Sub
Private Sub cmdDelete_Click()
    On Error Resume Next
   
    If MsgBox("删除当前记录?", vbYesNo, "确认删除") = vbYes Then
        daoRs.Delete
        
        If daoRs.EOF Then
            daoRs.MoveLast
        Else
            daoRs.MoveNext
        End If
    End If
   
    ExchangeData False
End Sub
Private Sub cmdPickPt_Click()
Dim ptPick As Variant
Form1.Hide
ptPick = ThisDrawing.Utility.GetPoint(, "指定点")
txtptStX.Text = ptPick(0)
txtptStY.Text = ptPick(1)
Form1.Show
End Sub
Private Sub cmdPrevious_Click()
    On Error Resume Next
   
    If daoRs.BOF Then
        daoRs.MoveFirst
    Else
        daoRs.MovePrevious
    End If
   
    ExchangeData False
End Sub
Private Sub cmdSave_Click()
    '修改数据库中的元素
    daoRs.Edit
   
    ExchangeData True
   
    daoRs.Update
End Sub
Private Sub UserForm_Initialize()
    '必须首先获得当前的工程路径
    strPath = ThisDrawing.Application.VBE.ActiveVBProject.FileName
    '连接数据库
    Set daoDb = OpenDatabase(Left(strPath, Len(strPath) - 8) & "temp.mdb")
    Set daoRs = daoDb.OpenRecordset("temp", 2)
   
    '读取数据库
    If daoRs.RecordCount  0 Then
        daoRs.MoveFirst
        
        ExchangeData False
    End If
End Sub
Private Sub UserForm_Terminate()
    '关闭数据库和记录集
    daoRs.Close
    daoDb.Close
End Sub
Private Sub ExchangeData(ByVal bSave As Boolean)
    If bSave Then
        daoRs.Fields("工程编号") = txtId.Text
        daoRs.Fields("X坐标)") = txtptStX.Text     '保存内容仍可使用字段名称或者索引号访问数据库内容
        daoRs.Fields("Y坐标") = txtptStY.Text
        daoRs.Fields("本点号") = bdian.Text
        daoRs.Fields("上点号") = sdian.Text
        daoRs.Fields("类型") = lxing.Text
    Else
        txtId.Text = daoRs.Fields("工程编号")   '根据字段名称或者索引均可以访问其内容
        txtptStX.Text = daoRs.Fields("X坐标")
        txtptStY.Text = daoRs.Fields("Y坐标")
        bdian.Text = daoRs.Fields("本点号")
        sdian.Text = daoRs.Fields("上点号")
        lxing.Text = daoRs.Fields("类型")
    End If
End Sub
回复

使用道具 举报

5

主题

44

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
64
发表于 2006-6-14 22:34:00 | 显示全部楼层
有条件的吧!
首先要在引用中添加DAO,其次你要有一个数据库,结构和程序中使用的一样。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-5 19:35 , Processed in 0.985739 second(s), 56 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表