1

голосов
0

ответ
39

Просмотры

Sheet not found via codename

Я бегу по горизонтали и ошибка, которая возникает спорадически. По существу, мастер-файл .xlsm используется несколькими людьми для заполнения данных для агрегации. Затем я использую другой файл .xlsm с макросами для извлечения данных и агрегировать их в одном исходный файл. Код обычно работает довольно хорошо, но с одним исключением:. 'Определяют диапазон на основе подсчета' Set rngItemRange = SourceWb.Sheets ( "Quality") Диапазон (Cells (3, I), Cells ((intItemCount + 2), я)) 'написать каскадный диапазон' targetwb.Sheets ( "Raw Data"). Cells (pintDest_row, pintCol) .Value = concatRange (rngItemRange) Он не может найти вкладку "Качество" на некоторых рабочих книги (но не все). Хорошо, может быть, кто-то переименовали вкладку? проверить, что, то не так. Одна вещь, которая работает как работа вокруг: на исходную книгу открытой, когда отладки выдает ошибку, если я вручную выберите вкладку качества, а затем возобновить макрос, он будет продолжаться. Я также сказал, хорошо, хорошо, может быть, есть какая-то странная проблема распознавания символов, поэтому я начал обращаться к листку по кодовому, как показано в редакторе VBA. Я испытываю то же модель поведения. Это влияет, может быть 50% от книг, и я не могу найти причину. У меня есть подобный код в другом месте, для разных листов, но это только один, где я определить диапазон для передачи в функцию, используя команду «SET». Опять же, это происходит только иногда на некоторых книгах, и я могу продолжать выполнять, когда я вручную нажмите на вкладку Я потянув данные. Я также добавить, есть только одна рабочая книга открыта с этим именем листа, в любой момент времени, так что я не думаю, что задыхается, пытаясь понять, который лист актуален. Плюс sourceWb представляет собой набор переменный. Есть ли кто-нибудь есть какие-либо понятия, что происходит? что-нибудь попробовать? решения? Помогите! (Простите опечатки, я работаю на сломанный палец прямо сейчас.)
mecasull
2

голосов
1

ответ
764

Просмотры

MVC 5 Details view not showing data for fields with foreign keys [duplicate]

This question already has an answer here: C# Entity-Framework: How can I combine a .Find and .Include on a Model Object? 3 answers This is my first time both writing an MVC 5 application and using C#. I've gotten pretty far along, and have been able to trouble shoot a number of bugs I've come across, but I'm stumped on this one. I have a few models and tables set up, including foreign key references. On my index pages, each record displays the foreign key values with the following controller code: Index controller public ActionResult Index(int? filterDwg) { var checkOut = db.CheckOut.Include(c => c.CheckOutStatus).Include(c => c.DwgList); var checkedOut = checkOut.Where(s => s.CheckStatus == (1)); //Filtering by Drawing if (filterDwg != null) { checkedOut = checkedOut.Where(d => d.DrawingId == (filterDwg)); } return View(checkedOut.ToList()); } Now, my details page, my controller is as follows: Details Controller public ActionResult Details(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } CheckOut checkOut = db.CheckOut.Find(id); if (checkOut == null) { return HttpNotFound(); } return View(checkOut); } When i pull up the following view: Details View @model NoDwgASP.Models.CheckOut @{ ViewBag.Title = "Details"; } Details CheckOut @Html.DisplayNameFor(model => model.CheckOutStatus.CheckStatusName) @Html.DisplayFor(model => model.CheckOutStatus.CheckStatusName) @Html.DisplayNameFor(model => model.DwgList.DwgNum) @Html.DisplayFor(model => model.DwgList.DwgNum) @Html.DisplayNameFor(model => model.UserInitials) @Html.DisplayFor(model => model.UserInitials) @Html.DisplayNameFor(model => model.Project) @Html.DisplayFor(model => model.Project) @Html.DisplayNameFor(model => model.CheckOutDate) @Html.DisplayFor(model => model.CheckOutDate) @Html.DisplayNameFor(model => model.ReturnDate) @Html.DisplayFor(model => model.ReturnDate) @Html.ActionLink("Edit", "Edit", new { id = Model.CheckId }) | @Html.ActionLink("Back to List", "Index") The fields for DwgNum and CheckStatusName are blank. These fields are integers and are foreign keys tied to another database that has string values for those properties. I realize I need to so something like var checkOut = db.CheckOut.Include(c => c.CheckOutStatus).Include(c => c.DwgList) as I did in my index controller, however, I cant simply append an .Include onto CheckOut checkOut = db.CheckOut.Find(id); Does anyone have any suggestions? I'm stumped, and I havent been able to find any related problems.
mecasull