我有一个Excel工作表,就像一个应用程序,带有表单控制按钮,允许用户"浏览"记录.First,Previous,Next和Last循环通过其中一个工作表记录,在我的"表单"工作表中显示值.
当用户不处于编辑或添加模式时,我想锁定单元格以防止用户修改内容.
我尝试了Range("A1:O24").Locked = True,但我仍然可以在单元格中键入新值.
有谁知道怎么做到这一点?我需要我的vba代码才能在用户'导航'时为单元格分配新值,但是为了防止用户输入新值,除非在添加或编辑模式下.
我在Excel工作簿中有2个字段:
1. MED - 范围("J13:K13")
公式:= IF(D5 = 1,"X","")
2.非中等 - 范围("L13:M13")
公式:= IF(D5 = 2,"X","")
使用以下代码时,字段始终显示为非空,从而保存值"1":
'1. Med
If Not IsEmpty(range("J13:K13").value) Then
Worksheets("FeedSamples").range("AK" & newRow).value = 1
Else
Worksheets("FeedSamples").range("AK" & newRow).value = 0
End If
'2. Non-Med
If Not IsEmpty(range("L13:M13").value) Then
Worksheets("FeedSamples").range("AL" & newRow).value = 1
Else
Worksheets("FeedSamples").range("AL" & newRow).value = 0
End If
Run Code Online (Sandbox Code Playgroud)
我尝试在我的IF语句中使用以下内容,但计数始终为'1':
'1. Med
If WorksheetFunction.CountA(range("J13:K13")) = 0 Then
Run Code Online (Sandbox Code Playgroud)
有人有主意吗?如果字段的值为"X"(或长度为1),那么我需要在其他工作表中保存"1".如果该字段为空(或长度为0),则需要在我的其他工作表中保存"0".
我迷失了为什么我的IsEmpty()检查功能不正常.
所以,我知道小梅提供了两个余数运营商,rem
和mod
,但究竟什么是它们之间的区别?我能够找到这个,但我不确定我是否完全掌握了这一点.
我将字符串存储在一个数组中.一个例子是:
ssnDateTime = "123456789|20140225|114528"
Run Code Online (Sandbox Code Playgroud)
我试图将每个子字符串存储到它自己的变量中,如下所示:
string SSN = ssnDateTime.Substring(0, 9);
string Date = ssnDateTime.Substring(ssnDateTime.Length - 15, 8);
string Time = ssnDateTime.Substring(19);
Run Code Online (Sandbox Code Playgroud)
这适用于我的10个测试记录中的5个,但是第6个具有时间值91514
,导致我的3个字符串:
SSN = 123456789
Date = |2014022
Time = 91514
Run Code Online (Sandbox Code Playgroud)
当我的应用程序试图运行时INSERT INTO Library.TrackingTable (SSN, DATE, TIME) VALUES ("123456789", "|2014021", "91514")
,AS400自然会抱怨|
Date值.
有什么方法可以使用分隔符从主字符串中获取每个SSN,Date和Time值,无论子字符串长度如何(当时间值比6个字符短时,防止上述问题)?
SSN自然会一直是9个字符,而Date将是8个字符的格式20140225
,但Time可以是5个或6个字符,具体取决于值.
我是MVC Development的新手,已经开始使用新的MVC 4应用程序来构建一种个人投资组合.我无法弄清楚为什么我_Layout.cshtml
不在我的家中渲染或默认View
.我已经检查了以下内容:
App_Start/RouteConfig.cs
文件自创建应用没有被修改.将Views/Shared/_ViewStart.cshtml
具有以下(默认):
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
Run Code Online (Sandbox Code Playgroud)查看/共享/ _Layout.cshtml:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale = 1.0" />
<title>Portfolio</title>
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrapjs")
@Scripts.Render("~/bundles/customJs")
<link href="~/Content/bootstrap.css" rel="stylesheet" />
<link href="~/Content/bootstrapMod.css" rel="stylesheet" />
<link href="~/Content/Site.css" rel="stylesheet" />
</head>
<body style=""zoom: 1">
<div class="container mainContent">
<div class="page-header hidden-sm hidden-xs">
@Html.Partial("_Header")
</div>
<nav id="navBar" class="navbar navbar-default" role="navigation">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile …
Run Code Online (Sandbox Code Playgroud) 我在MVC 4应用程序中创建了一个Admin区域.在被调用的Views文件夹下UserManage
,我使用Grid.MVC在多个页面上列出用户(5个集合).在网格中,我列出了供管理员查看的用户详细信息,并添加了:
EDIT
链接的列.CREATE
按钮.DELETE
按钮(与每行的复选框一起使用).我的用户详细信息页面位于我的管理区域中,位于以下路径中:Project\Areas\Admin\Views\UserManage\Index.cshtml
.在我的EDIT
liniks上,我试图拉出视图Project\Areas\Admin\Views\UserManage\Edit.cshtml
并将个人传递UserID
给View以提取用户数据.
在我下面的当前代码中,我的浏览器解析为http://localhost:62517/Admin/UserManage/Edit?Length=4
IIS 8.0 404错误(控制器无法找到UserID).但是如果我手动更改Length
到Id
如下,一切都会按计划,我结束了我的Edit
观点:http://localhost:62517/Admin/UserManage/Edit?Id=4
.
这是我的Index.cshtml
页面网格代码.有没有人知道我需要修改什么,Html.ActionLink()
所以我的路线将解决?Id=
而不是?Length=
?:
<div class="overflowPrevention">
@Html.Grid(Model).Columns(columns =>
{
columns.Add().Encoded(false).Sanitized(false).SetWidth(30).RenderValueAs(o => @Html.CheckBox("checked", false));
columns.Add().Encoded(false).Sanitized(false).RenderValueAs(o => Html.ActionLink("Edit", "Edit", "Edit", new { id = "1" }));
}).AutoGenerateColumns()
</div>
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个有点简单的InventoryTracker并且难以播种我的测试数据库.我目前正在尝试重置数据库并使用以下命令执行全新的代码优先迁移:
- update-database -targetmigration:"0" -force -verbose
- *Delete Current Migrations
- add-migration InitialCreate
- update-database
Run Code Online (Sandbox Code Playgroud)
当我运行update-database -targetmigration:"0" -force -verbose
了Package Manager Console
回报:The property 'Model_Id' cannot be configured as a navigation property. The property must be a valid entity type and the property should have a non-abstract getter and setter. For collection properties the type must implement ICollection<T> where T is a valid entity type.
这是我用我Model
的名字INV_Models.cs
Model
或我忽略的东西的一个简单问题吗?目前,该应用程序已成功构建,但新迁移失败.
我的主要模式是INV_Assets
具有[ForeignKey]
值Manufacturers, …
我在我的MVC5应用程序(Oracle后端)中有一种情况,其中我必须在转移到视图的GET时存储当前URL(此URL包含用户以前的导航位置以及在此处列出的任何/所有排序/过滤条件数据网格).
起初我以为我已经通过使用Session变量来解决这个问题Session["returnURL"]
,但是当它在我的localhost上运行时,许多尝试仍然导致我的会话变量NullReferenceException
在我的Production Server上执行期间抛出.我现在在GET Edit操作上有以下内容:
if (Request.UrlReferrer.AbsoluteUri != null)
{
ViewBag.ReturnURL = Request.UrlReferrer.AbsoluteUri;
}
else
{
ViewBag.ReturnURL = null;
}
Run Code Online (Sandbox Code Playgroud)
如果上面的值不为null,我将它存储在ViewBag中以访问我的View(将其指定为href
on actionlink):
@{
if (ViewBag.ReturnURL == null)
{
<span class="btn btn-default">
@Html.ActionLink("Back to List", "Index", "Home", new { @class = "btn btn-default" })
</span>
}
else
{
<a href="@ViewBag.ReturnURL"><span class="btn btn-default">Back to List</span></a>
}
}
|
<input type="submit" value="Save" class="btn btn-primary" />
Run Code Online (Sandbox Code Playgroud)
我现在的问题是,当我尝试将更改保存到我的记录(从而进入我的编辑操作的POST)时,我收到:
Server Error in '/' Application. Value cannot be null or empty. Parameter …
一般来说,我对SQL编写非常环保.我试图做的是从具有多个JOINS和WHERE Criteria的SELECT查询返回一个奇异值.
EX:以下返回我之后讨论的3个值:
SELECT TBL5.FIELD1, TBL5.FIELD2, TBL5.FIELD3
FROM TBL1 PA
JOIN TBL2 PH ON PH.PAID = PA.PAID
JOIN TBL3 CM ON CM.CMID = PA.ECMID
JOIN TBL4 HD ON CM.SURID = HD.PHID
JOIN TBL5 PD ON PD.PHID = HD.PHID
WHERE PH.PSID = 1234
AND PA.PAID = 10039528
AND NVL(PA.ECMID,0) > 0
AND CM.CMTV = 'EECR'
AND PD.MAID = 939252
Run Code Online (Sandbox Code Playgroud)
我想要做的是将所有三列TBL5.FIELD1,TBL5.FIELD2,TBL5.FIELD3的值返回为(1)别名字段.根据我目前正在检索的记录,最后2个字段为空,第一个字段返回-32.47.但是当我执行下面的操作时,我得到的所有内容都是[null]而不是预期的(-32.47 + null + null)=( - 32.47)?
SELECT (TBL5.FIELD1 + TBL5.FIELD2 + TBL5.FIELD3) AS TOTAL_REFUND
FROM TBL1 PA
JOIN TBL2 PH ON …
Run Code Online (Sandbox Code Playgroud) 有没有一种简单的方法可以将我的 Decimal 值(例如 62.25)转换为像“62 小时:15 分钟”这样的返回字符串?我一直在查看与此类似的几篇文章(Decimal Hour into Time?),但即使是说它们适用于大于 24 小时周期的数字的建议也不起作用。
asp.net-mvc ×3
c# ×3
razor ×3
excel ×2
excel-vba ×2
sql ×2
vba ×2
.net ×1
actionlink ×1
ada ×1
datetime ×1
decimal ×1
excel-2007 ×1
function ×1
ibm-midrange ×1
null ×1
office-2007 ×1
operators ×1
oracle ×1
plsql ×1
protected ×1
select ×1
viewbag ×1