Foxtable(狐表)用户栏目专家坐堂 → 请教大师,如何设置列值为度分秒的固定格式,谢谢!


  共有5084人关注过本帖树形打印复制链接

主题:请教大师,如何设置列值为度分秒的固定格式,谢谢!

帅哥哟,离线,有人找我吗?
有点甜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/10/7 20:09:00 [显示全部帖子]

 不能设置,你可以用三列,分别填入 度分秒,然后用一列表达式合并三列的内容

 又或者用一列输入值,然后用代码分析输入的值,得出 度分秒。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/10/7 20:10:00 [显示全部帖子]

或者你在 列属性里 设置掩码,基本能解决你的问题。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/10/7 20:37:00 [显示全部帖子]

先把值填入,再对值处理显示呗。

经纬度一般用小数表示也可以。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/10/7 20:51:00 [显示全部帖子]

 不知道你想要什么样的效果,举例说明下。

 固定格式是做不到的了,只能是变通用代码处理。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/10/7 21:07:00 [显示全部帖子]

用空格分隔,35 28 39.75,然后编写datacolchanged事件,替换成 35°28′39.75″

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/10/7 21:32:00 [显示全部帖子]

 参考代码,不知道怎么做的话,先把帮助文档看一下。

Dim str As String = "35 28 39.75"
Dim ary() As String = str.Split(" ")
str = ary(0) & "°" & ary(1) & "'" & ary(2) & """"
msgbox(str)

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/10/7 22:21:00 [显示全部帖子]

 如下例子,代码写在 表属性->事件->datacolchanging

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/10/8 21:29:00 [显示全部帖子]

 回复15楼,多加一个判断。

If e.DataCol.Name = "经度" AndAlso e.NewValue IsNot Nothing Then
    Dim ary() As String = e.NewValue.split(" ")
    If ary.length >= 3 Then
        e.NewValue = ary(0) & "°" & ary(1) & "'" & ary(2) & """"
    End If
End If

 回到顶部