从Excel Userfor更新访问权限

时间:2015-10-29 19:16:24

标签: excel-vba vba excel

我很难弄清楚为什么这段代码不起作用。我想要做的是更新访问数据库匹配值的位置,但由于某种原因,我不能让它读取userform标签标题。

以下是代码,提前感谢

@Override
    public void onCreate(SurfaceHolder surfaceHolder) {
        super.onCreate(surfaceHolder);
        Log.d(TAG, "onCreate");
        Log.d(TAG, "isPreview ... " + isPreview());
    }


@Override
    public void onSurfaceCreated(SurfaceHolder surfaceHolder) {
        Log.d(TAG, "onSurfaceCreated");
    }

    @Override
    public void onVisibilityChanged(boolean isVisible) {
        Log.d(TAG, "onVisibilityChanged .." + isVisible);
    }

    @Override
    public void onSurfaceChanged(SurfaceHolder holder, int format, int width, int height) {
        Log.d(TAG, "onSurfaceChanged");
    }

    @Override
    public void onSurfaceRedrawNeeded(SurfaceHolder surfaceHolder) {
        Log.d(TAG, "onSurfaceRedrawNeeded");  
    }

    @Override
    public void onSurfaceDestroyed(SurfaceHolder surfaceHolder) {
        Log.d(TAG, "onSurfaceDestroyed");
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        Log.d(TAG, "onDestroy");

    }

1 个答案:

答案 0 :(得分:1)

您目前将idvar标注为Integer,并且您尝试使用标签的string.Caption值传递给他们用户形式。这就是您收到Data Mismatch错误的原因。

这样做:

Dim id As String
Dim Var1 as String
id = frmsetup.update.Caption
var1 = frmsetup.lbldate.caption


然后,您可能需要调整SQL以确保访问可能通过在字符串变量周围放置单引号来读取它。这就是:

SQL = "UPDATE [Table3] SET [Table3].Time_out= " & "Now()" & " WHERE [Table3].Sequence='" & id & "' AND [Table3].Audit_Date='" & var1 & "';"


另请注意,我在SQL语句的末尾添加了分号,Access需要将其识别为SQL的结尾。